cfg80211: move check for ignore_reg_update() on wiphy_update_regulatory()
authorLuis R. Rodriguez <lrodriguez@atheros.com>
Thu, 22 Jan 2009 23:05:50 +0000 (15:05 -0800)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 29 Jan 2009 21:01:17 +0000 (16:01 -0500)
This ensures that the initial REGDOM_SET_BY_CORE upon wiphy registration
respects the wiphy->custom_regulatory setting. Without this and if OLD_REG
is disabled (which will be default soon as we remove it) the
wiphy->custom_regulatory is simply ignored.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/wireless/reg.c

index 5db02a3d9c02d470cce7cac89313514cf60837fc..81acb07f1d44bf6fe7358ed4e3f295190b9cc83a 100644 (file)
@@ -937,13 +937,15 @@ static void update_all_wiphy_regulatory(enum reg_set_by setby)
        struct cfg80211_registered_device *drv;
 
        list_for_each_entry(drv, &cfg80211_drv_list, list)
-               if (!ignore_reg_update(&drv->wiphy, setby))
-                       wiphy_update_regulatory(&drv->wiphy, setby);
+               wiphy_update_regulatory(&drv->wiphy, setby);
 }
 
 void wiphy_update_regulatory(struct wiphy *wiphy, enum reg_set_by setby)
 {
        enum ieee80211_band band;
+
+       if (ignore_reg_update(wiphy, setby))
+               return;
        for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
                if (wiphy->bands[band])
                        handle_band(wiphy, band);