diff options
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r-- | net/mac80211/mlme.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 8f51375317dd..1232ba25e1e9 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c | |||
@@ -3869,6 +3869,7 @@ void ieee80211_scan_completed(struct ieee80211_hw *hw) | |||
3869 | 3869 | ||
3870 | 3870 | ||
3871 | netif_tx_lock_bh(local->mdev); | 3871 | netif_tx_lock_bh(local->mdev); |
3872 | netif_addr_lock(local->mdev); | ||
3872 | local->filter_flags &= ~FIF_BCN_PRBRESP_PROMISC; | 3873 | local->filter_flags &= ~FIF_BCN_PRBRESP_PROMISC; |
3873 | local->ops->configure_filter(local_to_hw(local), | 3874 | local->ops->configure_filter(local_to_hw(local), |
3874 | FIF_BCN_PRBRESP_PROMISC, | 3875 | FIF_BCN_PRBRESP_PROMISC, |
@@ -3876,6 +3877,7 @@ void ieee80211_scan_completed(struct ieee80211_hw *hw) | |||
3876 | local->mdev->mc_count, | 3877 | local->mdev->mc_count, |
3877 | local->mdev->mc_list); | 3878 | local->mdev->mc_list); |
3878 | 3879 | ||
3880 | netif_addr_unlock(local->mdev); | ||
3879 | netif_tx_unlock_bh(local->mdev); | 3881 | netif_tx_unlock_bh(local->mdev); |
3880 | 3882 | ||
3881 | rcu_read_lock(); | 3883 | rcu_read_lock(); |
@@ -4063,12 +4065,14 @@ static int ieee80211_sta_start_scan(struct net_device *dev, | |||
4063 | local->scan_dev = dev; | 4065 | local->scan_dev = dev; |
4064 | 4066 | ||
4065 | netif_tx_lock_bh(local->mdev); | 4067 | netif_tx_lock_bh(local->mdev); |
4068 | netif_addr_lock(local->mdev); | ||
4066 | local->filter_flags |= FIF_BCN_PRBRESP_PROMISC; | 4069 | local->filter_flags |= FIF_BCN_PRBRESP_PROMISC; |
4067 | local->ops->configure_filter(local_to_hw(local), | 4070 | local->ops->configure_filter(local_to_hw(local), |
4068 | FIF_BCN_PRBRESP_PROMISC, | 4071 | FIF_BCN_PRBRESP_PROMISC, |
4069 | &local->filter_flags, | 4072 | &local->filter_flags, |
4070 | local->mdev->mc_count, | 4073 | local->mdev->mc_count, |
4071 | local->mdev->mc_list); | 4074 | local->mdev->mc_list); |
4075 | netif_addr_unlock(local->mdev); | ||
4072 | netif_tx_unlock_bh(local->mdev); | 4076 | netif_tx_unlock_bh(local->mdev); |
4073 | 4077 | ||
4074 | /* TODO: start scan as soon as all nullfunc frames are ACKed */ | 4078 | /* TODO: start scan as soon as all nullfunc frames are ACKed */ |