mac80211: Call driver commands after drv_start in mac80211 restart code
authorYogesh Ashok Powar <yogeshp@marvell.com>
Fri, 30 Dec 2011 11:04:25 +0000 (16:34 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 4 Jan 2012 19:31:46 +0000 (14:31 -0500)
Ideally, hardware/firmware initialization is complete after the
drv_start routine. In mac80211 restart code (ieee80211_reconfig),
defer calling the driver commands i.e. setup fragmentation
threshold, rts threshold and coverage class till drv_start
routine is called.

Signed-off-by: Nishant Sarmukadam <nishants@marvell.com>
Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
v2: Removed extra blank line added.
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/util.c

index eb1a5f737a9cabd163d4bf9a039d0e39167cda5e..9919892575f45a94f55e34c474f3f93736755237 100644 (file)
@@ -1142,16 +1142,6 @@ int ieee80211_reconfig(struct ieee80211_local *local)
                 */
        }
 #endif
-
-       /* setup fragmentation threshold */
-       drv_set_frag_threshold(local, hw->wiphy->frag_threshold);
-
-       /* setup RTS threshold */
-       drv_set_rts_threshold(local, hw->wiphy->rts_threshold);
-
-       /* reset coverage class */
-       drv_set_coverage_class(local, hw->wiphy->coverage_class);
-
        /* everything else happens only if HW was up & running */
        if (!local->open_count)
                goto wake_up;
@@ -1170,6 +1160,15 @@ int ieee80211_reconfig(struct ieee80211_local *local)
                return res;
        }
 
+       /* setup fragmentation threshold */
+       drv_set_frag_threshold(local, hw->wiphy->frag_threshold);
+
+       /* setup RTS threshold */
+       drv_set_rts_threshold(local, hw->wiphy->rts_threshold);
+
+       /* reset coverage class */
+       drv_set_coverage_class(local, hw->wiphy->coverage_class);
+
        ieee80211_led_radio(local, true);
        ieee80211_mod_tpt_led_trig(local,
                                   IEEE80211_TPT_LEDTRIG_FL_RADIO, 0);