]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
wifi: iwlwifi: mld: always assign a fw id to a vif
authorMiri Korenblit <miriam.rachel.korenblit@intel.com>
Sat, 21 Mar 2026 17:29:14 +0000 (19:29 +0200)
committerMiri Korenblit <miriam.rachel.korenblit@intel.com>
Wed, 25 Mar 2026 09:31:58 +0000 (11:31 +0200)
commit4f1da5cf31cf6345f145e914a0158c2e114bbe27
tree6c84c8e4f8874d16c886c391b3a5d9c904491731
parentab97a6c94c8919373a7a8109a5a27475bd1102bd
wifi: iwlwifi: mld: always assign a fw id to a vif

We used to have a fw id assignment in iwl_mld_init_vif since all interface
types that were added to the driver was immediately added to the FW as
well.
Since NAN was introduced, this is no longer the case - the NAN interface
is not added to the fw until a local schedule is configured.

For this vif we don't assign a fw id so it is 0 by default.
But later, when the vif is removed from the driver, we think that it has
a valid fw id (0) and we point fw_id_to_vif[0] to NULL.
fw_id_to_vif[0] might actually point to another vif with a valid fw id
0. In this case, we end up messing fw_id_to_vif.

Fix this by initializing a vif with a special invalid fw id, and by
exiting iwl_mld_rm_vif early for NAN interfaces.

Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20260321192637.f3b5cc59098f.I3d1dbe66bd224cbb786c2b0ab3d1c9f7ec9003e4@changeid
drivers/net/wireless/intel/iwlwifi/mld/iface.c