[SRU] [H/OEM-5.10] [PATCH 0/3] Handle Intel Wifi firmware disconnection
Kai-Heng Feng
kai.heng.feng at canonical.com
Thu Apr 1 05:01:29 UTC 2021
BugLink: https://bugs.launchpad.net/bugs/1922171
[Impact]
Intel Wifi firmware may crash when it's connected to B/G wireless.
[Fix]
There's a new "feature" that when firmware thinks there are too much
noise in the current frequency, it will automatically disconnect
wifi and expect software/OS to change channel/frequency and reconnect.
Otherwise, firmware crashes.
[Test]
[ 2651.943142] wlp0s20f3: associate with 00:24:a5:b5:f8:93 (try 1/3)
[ 2651.951043] wlp0s20f3: RX AssocResp from 00:24:a5:b5:f8:93 (capab=0x421 status=0 aid=1)
[ 2651.962960] wlp0s20f3: associated
[ 2651.966183] IPv6: ADDRCONF(NETDEV_CHANGE): wlp0s20f3: link becomes ready
[ 2651.972582] wlp0s20f3: Driver requested disconnection from AP 00:24:a5:b5:f8:93
[ 2654.641627] wlp0s20f3: authenticate with 00:24:a5:b5:f8:93
Now it's "Driver requested disconnection" instead of firmware crash.
[Where problems could occur]
The first two patches on 80211 only provide new hook and don't bring any
functional change.
The third patch achieves the "feature" by removing cap
IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_IN_2G. I am no expert on
80211, but if there's any AP that doesn't support 20MHZ for 2.4G, the
reconnecting may fail.
Johannes Berg (3):
cfg80211: support immediate reconnect request hint
mac80211: support driver-based disconnect with reconnect hint
iwlwifi: mvm: handle CCA-EXT delay firmware notification
.../wireless/intel/iwlwifi/fw/api/datapath.h | 86 +++++--------------
.../net/wireless/intel/iwlwifi/mvm/mac80211.c | 39 +++++++++
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 3 +
drivers/net/wireless/intel/iwlwifi/mvm/ops.c | 68 +++++++++++++++
.../net/wireless/intel/iwlwifi/mvm/utils.c | 30 +++++++
include/net/cfg80211.h | 4 +-
include/net/mac80211.h | 11 +++
include/uapi/linux/nl80211.h | 6 ++
net/mac80211/ieee80211_i.h | 4 +-
net/mac80211/mlme.c | 72 ++++++++++++----
net/mac80211/trace.h | 23 ++++-
net/wireless/mlme.c | 26 +++---
net/wireless/nl80211.c | 23 +++--
net/wireless/nl80211.h | 8 +-
net/wireless/trace.h | 12 ++-
15 files changed, 303 insertions(+), 112 deletions(-)
--
2.30.2
More information about the kernel-team
mailing list