mac80211: check sta_apply_parameters() return value
authorEliad Peller <eliad@wizery.com>
Thu, 29 Dec 2011 12:41:39 +0000 (14:41 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 24 Jan 2012 19:06:04 +0000 (14:06 -0500)
Bail out if sta_apply_parameters() returns an error.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/cfg.c

index 296620d6ca0c0c2388f05ffaffd9c5d832eb3cbd..d86730fe75c895883e37b3b2199b2d02a6f76029 100644 (file)
@@ -1001,6 +1001,7 @@ static int ieee80211_change_station(struct wiphy *wiphy,
        struct ieee80211_local *local = wiphy_priv(wiphy);
        struct sta_info *sta;
        struct ieee80211_sub_if_data *vlansdata;
+       int err;
 
        mutex_lock(&local->sta_mtx);
 
@@ -1040,7 +1041,11 @@ static int ieee80211_change_station(struct wiphy *wiphy,
                ieee80211_send_layer2_update(sta);
        }
 
-       sta_apply_parameters(local, sta, params);
+       err = sta_apply_parameters(local, sta, params);
+       if (err) {
+               mutex_unlock(&local->sta_mtx);
+               return err;
+       }
 
        if (test_sta_flag(sta, WLAN_STA_TDLS_PEER) && params->supported_rates)
                rate_control_rate_init(sta);