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 88891cdfdd4adc7f1bb67e27771e8a959517456a..76625145e32eef4eaa22d80c8312474082ef7282 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);