mirror of
https://github.com/torvalds/linux.git
synced 2024-10-31 17:21:49 +00:00
iwlwifi: mvm: fix locking in iwl_mvm_ipv6_addr_change
inet6_dev->lock can be taken from a timer. Disabled bottom halves when we take it. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
c3eb536aab
commit
a3777e0fdd
@ -97,14 +97,14 @@ void iwl_mvm_ipv6_addr_change(struct ieee80211_hw *hw,
|
||||
struct inet6_ifaddr *ifa;
|
||||
int idx = 0;
|
||||
|
||||
read_lock(&idev->lock);
|
||||
read_lock_bh(&idev->lock);
|
||||
list_for_each_entry(ifa, &idev->addr_list, if_list) {
|
||||
mvmvif->target_ipv6_addrs[idx] = ifa->addr;
|
||||
idx++;
|
||||
if (idx >= IWL_PROTO_OFFLOAD_NUM_IPV6_ADDRS)
|
||||
break;
|
||||
}
|
||||
read_unlock(&idev->lock);
|
||||
read_unlock_bh(&idev->lock);
|
||||
|
||||
mvmvif->num_target_ipv6_addrs = idx;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user