diff --git a/net/mac80211/ieee80211.c b/net/mac80211/ieee80211.c index 177040218232..5dcc2d61551f 100644 --- a/net/mac80211/ieee80211.c +++ b/net/mac80211/ieee80211.c @@ -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); }