wifi: iwlwifi: mei: make sure ownership confirmed message is sent
authorAvraham Stern <avraham.stern@intel.com>
Sun, 30 Oct 2022 17:17:41 +0000 (19:17 +0200)
committerGregory Greenman <gregory.greenman@intel.com>
Thu, 10 Nov 2022 11:26:00 +0000 (13:26 +0200)
commit5aa7ce31bd84c2f4f059200f06c537c920cbb458
tree278f2d1978f7cda77c47c122121b9690a889726c
parente5d3a64e650c721f9e9b1f76e5df8c62f16b734d
wifi: iwlwifi: mei: make sure ownership confirmed message is sent

It is possible that CSME will try to take ownership while the driver
is stopping. In this case, if the CSME takes ownership message arrives
after the driver started unregistering, the iwl_mei_cache->ops is
already invalid, so the host will not answer with the ownership
confirmed message.
Similarly, if the take ownership message arrived after the mac was
stopped or when iwl_mvm_up() failed, setting rfkill will not trigger
sending the confirm message. As a result, CSME will not take
ownership, which will result in a disconnection.

Fix it by sending the ownership confirmed message immediately in such
cases.

Fixes: 2da4366f9e2c ("iwlwifi: mei: add the driver to allow cooperation with CSME")
Signed-off-by: Avraham Stern <avraham.stern@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20221030191011.b2a4c009e3e6.I7f931b7ee8b168e8ac88b11f23bff98b7ed3cb19@changeid
drivers/net/wireless/intel/iwlwifi/mei/iwl-mei.h
drivers/net/wireless/intel/iwlwifi/mei/main.c
drivers/net/wireless/intel/iwlwifi/mvm/fw.c
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
drivers/net/wireless/intel/iwlwifi/mvm/ops.c