]> git.baikalelectronics.ru Git - kernel.git/commit
mac80211: clear the beacon's CRC after channel switch
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Thu, 8 Apr 2021 12:31:25 +0000 (14:31 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 8 Apr 2021 13:32:37 +0000 (15:32 +0200)
commit7f1f20d74c86c1616ced95eae7a888d7a27a8b21
treee2b22d23616f3f0f8e6cdd4a850a20336985fce9
parentf083e2dae320fd4de17426efe9071b7ac2c608f1
mac80211: clear the beacon's CRC after channel switch

After channel switch, we should consider any beacon with a
CSA IE as a new switch. If the CSA IE is a leftover from
before the switch that the AP forgot to remove, we'll get
a CSA-to-Self.

This caused issues in iwlwifi where the firmware saw a beacon
with a CSA-to-Self with mode = 1 on the new channel after a
switch. The firmware considered this a new switch and closed
its queues. Since the beacon didn't change between before and
after the switch, we wouldn't handle it (the CRC is the same)
and we wouldn't let the firmware open its queues again or
disconnect if the CSA IE stays for too long.

Clear the CRC valid state after we switch to make sure that
we handle the beacon and handle the CSA IE as required.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Link: https://lore.kernel.org/r/20210408143124.b9e68aa98304.I465afb55ca2c7d59f7bf610c6046a1fd732b4c28@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/mlme.c