mirror of
https://github.com/torvalds/linux.git
synced 2026-10-12 13:27:02 +02:00
wifi: iwlwifi: mld: Do not cleanup FW state when the device is dead
When a channel context is unassigned, there is a path to cleanup the FW state in case of NON MLO connection: remove the link and add it again. However, when the transport is dead, e.g., during device removal etc., this flow will fail and as a result the mld_vif->link[0] would be set to NULL. Later, when the interface is removed, iwl_mld_remove_link() would warn as the link is NULL. Fix this by not doing the cleanup when the device is dead. Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20260715220243.89a0c44a72a3.I45cca8b84a25943d5771199af6b0155dbac77b58@changeid
This commit is contained in:
parent
9318bc0c41
commit
1c031ac5a3
|
|
@ -1280,11 +1280,13 @@ void iwl_mld_unassign_vif_chanctx(struct ieee80211_hw *hw,
|
|||
iwl_mld_tlc_update_phy(mld, vif, link);
|
||||
|
||||
/* in the non-MLO case, remove/re-add the link to clean up FW state.
|
||||
* In MLO, it'll be done in drv_change_vif_link
|
||||
* In MLO, it'll be done in drv_change_vif_link.
|
||||
* Do not do so during restart or in case the device is dead.
|
||||
*/
|
||||
if (!ieee80211_vif_is_mld(vif) && !mld_vif->ap_sta &&
|
||||
!WARN_ON_ONCE(vif->cfg.assoc) &&
|
||||
vif->type != NL80211_IFTYPE_AP && !mld->fw_status.in_hw_restart) {
|
||||
vif->type != NL80211_IFTYPE_AP && !mld->fw_status.in_hw_restart &&
|
||||
!iwl_trans_is_dead(mld->trans)) {
|
||||
iwl_mld_remove_link(mld, link);
|
||||
iwl_mld_add_link(mld, link);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user