]> Pileus Git - ~andy/linux/blobdiff - net/mac80211/ieee80211.c
Merge branches 'release' and 'wmi-2.6.25' into release
[~andy/linux] / net / mac80211 / ieee80211.c
index 177040218232d4e0a8660276967dfcb6d4a27c6c..67b7c75c430d337e0ddfdc5e8a33dac498b60472 100644 (file)
@@ -299,9 +299,11 @@ static int ieee80211_stop(struct net_device *dev)
        sdata = IEEE80211_DEV_TO_SUB_IF(dev);
 
        list_for_each_entry(sta, &local->sta_list, list) {
-               for (i = 0; i <  STA_TID_NUM; i++)
-                       ieee80211_sta_stop_rx_ba_session(sta->dev, sta->addr,
-                                               i, WLAN_BACK_RECIPIENT,
+               if (sta->dev == dev)
+                       for (i = 0; i <  STA_TID_NUM; i++)
+                               ieee80211_sta_stop_rx_ba_session(sta->dev,
+                                               sta->addr, i,
+                                               WLAN_BACK_RECIPIENT,
                                                WLAN_REASON_QSTA_LEAVE_QBSS);
        }
 
@@ -1342,17 +1344,17 @@ static int __init ieee80211_init(void)
 
        ret = rc80211_simple_init();
        if (ret)
-               goto fail;
+               goto out;
 
        ret = rc80211_pid_init();
        if (ret)
-               goto fail_simple;
+               goto out_cleanup_simple;
 
        ret = ieee80211_wme_register();
        if (ret) {
                printk(KERN_DEBUG "ieee80211_init: failed to "
                       "initialize WME (err=%d)\n", ret);
-               goto fail_pid;
+               goto out_cleanup_pid;
        }
 
        ieee80211_debugfs_netdev_init();
@@ -1360,11 +1362,11 @@ static int __init ieee80211_init(void)
 
        return 0;
 
- fail_pid:
-       rc80211_simple_exit();
- fail_simple:
+ out_cleanup_pid:
        rc80211_pid_exit();
- fail:
+ out_cleanup_simple:
+       rc80211_simple_exit();
+ out:
        return ret;
 }