summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/intel/iwlwifi/pcie
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2021-12-04 09:35:45 +0300
committerLuca Coelho <luciano.coelho@intel.com>2021-12-07 21:04:57 +0300
commitdb66abeea3aefed481391ecc564fb7b7fb31d742 (patch)
tree48289b00eea4647d6db7de88a30630ce11547273 /drivers/net/wireless/intel/iwlwifi/pcie
parent2438d430868e1676f5b1e476c8982e88217fe66c (diff)
downloadlinux-db66abeea3aefed481391ecc564fb7b7fb31d742.tar.xz
iwlwifi: mvm: synchronize with FW after multicast commands
If userspace installs a lot of multicast groups very quickly, then we may run out of command queue space as we send the updates in an asynchronous fashion (due to locking concerns), and the CPU can create them faster than the firmware can process them. This is true even when mac80211 has a work struct that gets scheduled. Fix this by synchronizing with the firmware after sending all those commands - outside of the iteration we can send a synchronous echo command that just has the effect of the CPU waiting for the prior asynchronous commands to finish. This also will cause fewer of the commands to be sent to the firmware overall, because the work will only run once when rescheduled multiple times while it's running. Link: https://bugzilla.kernel.org/show_bug.cgi?id=213649 Suggested-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Reported-by: Maximilian Ernestus <maximilian@ernestus.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Link: https://lore.kernel.org/r/iwlwifi.20211204083238.51aea5b79ea4.I88a44798efda16e9fe480fb3e94224931d311b29@changeid Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/pcie')
0 files changed, 0 insertions, 0 deletions