wl12xx: call extended radio parameters for wl127x AP mode
authorLuciano Coelho <coelho@ti.com>
Tue, 13 Dec 2011 09:39:50 +0000 (11:39 +0200)
committerLuciano Coelho <coelho@ti.com>
Thu, 15 Dec 2011 07:58:41 +0000 (09:58 +0200)
We need to set the extended radio parameters for wl127x only.
Currently, we were only calling this command with wl127x STA mode, but
we should also do it for AP mode.

Move the call to the extended radio paramaters to the common hw_init
and use a single if for the chip type to do everything at once.

Signed-off-by: Luciano Coelho <coelho@ti.com>
drivers/net/wireless/wl12xx/init.c

index 88891cd..7662514 100644 (file)
@@ -328,12 +328,6 @@ static int wl1271_sta_hw_init(struct wl1271 *wl, struct wl12xx_vif *wlvif)
 {
        int ret;
 
-       if (wl->chip.id != CHIP_ID_1283_PG20) {
-               ret = wl1271_cmd_ext_radio_parms(wl);
-               if (ret < 0)
-                       return ret;
-       }
-
        /* PS config */
        ret = wl12xx_acx_config_ps(wl, wlvif);
        if (ret < 0)
@@ -659,19 +653,24 @@ int wl1271_hw_init(struct wl1271 *wl)
 {
        int ret;
 
-       if (wl->chip.id == CHIP_ID_1283_PG20)
+       if (wl->chip.id == CHIP_ID_1283_PG20) {
                ret = wl128x_cmd_general_parms(wl);
-       else
-               ret = wl1271_cmd_general_parms(wl);
-       if (ret < 0)
-               return ret;
-
-       if (wl->chip.id == CHIP_ID_1283_PG20)
+               if (ret < 0)
+                       return ret;
                ret = wl128x_cmd_radio_parms(wl);
-       else
+               if (ret < 0)
+                       return ret;
+       } else {
+               ret = wl1271_cmd_general_parms(wl);
+               if (ret < 0)
+                       return ret;
                ret = wl1271_cmd_radio_parms(wl);
-       if (ret < 0)
-               return ret;
+               if (ret < 0)
+                       return ret;
+               ret = wl1271_cmd_ext_radio_parms(wl);
+               if (ret < 0)
+                       return ret;
+       }
 
        /* Chip-specific init */
        ret = wl1271_chip_specific_init(wl);