linux/drivers/net/wireless/intel/iwlwifi/mvm
Emmanuel Grumbach 82715ac71e iwlwifi: mvm: fix regulatory domain update when the firmware starts
When the firmware starts, it doesn't have any regulatory
information, hence it uses the world wide limitations. The
driver can feed the firmware with previous knowledge that
was kept in the driver, but the firmware may still not
update its internal tables.

This happens when we start a BSS interface, and then the
firmware can change the regulatory tables based on our
location and it'll use more lenient, location specific
rules. Then, if the firmware is shut down (when the
interface is brought down), and then an AP interface is
created, the firmware will forget the country specific
rules.

The host will think that we are in a certain country that
may allow channels and will try to teach the firmware about
our location, but the firmware may still not allow to drop
the world wide limitations and apply country specific rules
because it was just re-started.

In this case, the firmware will reply with MCC_RESP_ILLEGAL
to the MCC_UPDATE_CMD. In that case, iwlwifi needs to let
the upper layers (cfg80211 / hostapd) know that the channel
list they know about has been updated.

This fixes https://bugzilla.kernel.org/show_bug.cgi?id=201105

Cc: stable@vger.kernel.org
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2018-11-15 23:50:58 +02:00
..
binding.c iwlwifi: remove all occurrences of the FSF address paragraph 2018-08-31 11:38:33 +03:00
coex.c iwlwifi: mvm: TLC support for Coex Schema 2 2018-09-28 08:57:27 +03:00
constants.h iwlwifi: remove all occurrences of the FSF address paragraph 2018-08-31 11:38:33 +03:00
d3.c iwlwifi: mvm: move rt status check to the start of the resume flow 2018-10-08 10:46:03 +03:00
debugfs-vif.c iwlwifi: remove all occurrences of the FSF address paragraph 2018-08-31 11:38:33 +03:00
debugfs.c iwlwifi: mvm: use match_string() helper 2018-10-06 10:25:54 +03:00
debugfs.h iwlwifi: remove all occurrences of the FSF address paragraph 2018-08-31 11:38:33 +03:00
fw-api.h iwlwifi: remove all occurrences of the FSF address paragraph 2018-08-31 11:38:33 +03:00
fw.c iwlwifi: fix wrong WGDS_WIFI_DATA_SIZE 2018-11-15 23:50:58 +02:00
led.c iwlwifi: remove all occurrences of the FSF address paragraph 2018-08-31 11:38:33 +03:00
mac80211.c iwlwifi: mvm: fix regulatory domain update when the firmware starts 2018-11-15 23:50:58 +02:00
mac-ctxt.c iwlwifi: dbg: group trigger condition to helper function 2018-10-06 10:25:44 +03:00
Makefile iwlwifi: mvm: rs: add ops for the new rate scaling in the FW 2017-12-05 21:01:41 +02:00
mvm.h iwlwifi: mvm: kill INACTIVE queue state 2018-10-08 10:49:22 +03:00
nvm.c iwlwifi: mvm: fix regulatory domain update when the firmware starts 2018-11-15 23:50:58 +02:00
offloading.c iwlwifi: remove all occurrences of the FSF address paragraph 2018-08-31 11:38:33 +03:00
ops.c iwlwifi: dbg: make trigger functions type agnostic 2018-10-06 10:25:55 +03:00
phy-ctxt.c iwlwifi: mvm: Move unused phy's to a default channel 2018-03-19 10:50:38 +02:00
power.c iwlwifi: remove all occurrences of the FSF address paragraph 2018-08-31 11:38:33 +03:00
quota.c iwlwifi: remove all occurrences of the FSF address paragraph 2018-08-31 11:38:33 +03:00
rs-fw.c iwlwifi: rs-fw: support dcm 2018-08-31 11:38:40 +03:00
rs.c iwlwifi: mvm: check return value of rs_rate_from_ucode_rate() 2018-10-13 14:48:44 +03:00
rs.h iwlwifi: mvm: always init rs_fw with 20MHz bandwidth rates 2018-08-31 11:38:38 +03:00
rx.c iwlwifi: dbg: group trigger condition to helper function 2018-10-06 10:25:44 +03:00
rxmq.c iwlwifi: mvm: show more HE radiotap data for TB PPDUs 2018-10-06 10:25:53 +03:00
scan.c iwlwifi: mvm: use fast balance scan in case of DCM mode with P2P GO 2018-10-08 10:36:18 +03:00
sf.c iwlwifi: remove all occurrences of the FSF address paragraph 2018-08-31 11:38:33 +03:00
sta.c iwlwifi: mvm: kill INACTIVE queue state 2018-10-08 10:49:22 +03:00
sta.h iwlwifi: mvm: kill INACTIVE queue state 2018-10-08 10:49:22 +03:00
tdls.c iwlwifi: remove all occurrences of the FSF address paragraph 2018-08-31 11:38:33 +03:00
testmode.h iwlwifi: remove all occurrences of the FSF address paragraph 2018-08-31 11:38:33 +03:00
time-event.c iwlwifi: dbg: group trigger condition to helper function 2018-10-06 10:25:44 +03:00
time-event.h iwlwifi: remove all occurrences of the FSF address paragraph 2018-08-31 11:38:33 +03:00
tof.c iwlwifi: remove all occurrences of the FSF address paragraph 2018-08-31 11:38:33 +03:00
tof.h iwlwifi: remove all occurrences of the FSF address paragraph 2018-08-31 11:38:33 +03:00
tt.c iwlwifi: remove all occurrences of the FSF address paragraph 2018-08-31 11:38:33 +03:00
tx.c iwlwifi: mvm: kill INACTIVE queue state 2018-10-08 10:49:22 +03:00
utils.c iwlwifi: mvm: remove per-queue hw refcount 2018-10-08 10:47:32 +03:00