summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2024-04-17[BUGFIX] wifi: mac80211: keep mac80211 consistent on link activation failureHEADrelease/core87masterBenjamin Berg4-17/+53
In the unlikely event that link_use_channel fails while activating a link, mac80211 would go into a bad state. Unfortunately, we cannot completely avoid failures from drivers in this case. However, what we can do is to just continue internally anyway and assume the driver is going to trigger a recovery flow from its side. Doing that means that we at least have a consistent state in mac80211 allowing such a recovery flow to succeed. type=bugfix ticket=jira:WIFI-404088 fixes=unknown Change-Id: I6299678353e50e88b55c99b0bce15c64b52c2804 Signed-off-by: Benjamin Berg <benjamin.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/104940 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> PerCI-Ready: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: d16549cfbe0409a2472487dfb3cacd72a22c16ff
2024-04-17wifi: mac80211: simplify ieee80211_assign_link_chanctx()Johannes Berg2-8/+9
There's no need for a label/goto here, the only thing is that drv_assign_vif_chanctx() must succeed to set 'conf' and add the new context to the list, the remaining code is (and must be) the same regardless. type=cleanup ticket=none Change-Id: I9d647178ab25636372ed79e5312c68a06e0bf60c Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/104035 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/104939 x-iwlwifi-stack-dev: f65577123b87ebf31edbd9ffae45c54e62594304
2024-04-17wifi: iwlwifi: mvm: use an 'else if' when checking cmd verMiri Korenblit2-2/+2
Static analyzer complains about overriding the 'len' before using it. type=cleanup ticket=none Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I88faaae0df4a9c497b499715fec1fcb86ef75e85 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/104325 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/104594 x-iwlwifi-stack-dev: ff54f05df027e2955308dd440d010f9f7da47ada
2024-04-17[BUGFIX] wifi: mac80211: fix MLD ID for cross-link CSAJohannes Berg2-10/+14
The elems currently passed to ieee80211_sta_process_chanswitch() are the CSA elements, so the STA profile in cross-link scenarios. In this case, 'elems' may even be NULL if the profile disappeared from the multi-link element (due to CSA elements no longer being there), and static checkers reported that it may be dereferenced. This is true, but the underlying cause is that we attempt to use the wrong set of elements to find the MLD ID and look at the RNR, for this purpose we must use the full outer elements. Pass the right pointer to get the correct MLD ID and iterate the correct RNR elements in ieee80211_sta_other_link_csa_disappeared. type=bugfix fixes=Ie8453979f5805873a8411c99346bcc3810cd6476 ticket=none Change-Id: Iad5f645a9589b6324cf32d081cc8c4d812b62cf4 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/104386 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/104593 x-iwlwifi-stack-dev: c868f082d47c5845652cac1902ef124ad864856c
2024-04-17[BUGFIX] wifi: mac80211: mlme: re-parse if AP mode is less than clientJohannes Berg2-5/+10
If the AP mode ends up being determined less than the client mode, there may be different reasons for this, e.g. AP misconfiguration. If this happens in a way that causes e.g. EHT to be rejected, the elements need to be re-parsed since we'll connect as HE, but not reparsing means that we'll still think it's OK to use multi-link, so we can connect in a non-sensical configuration of advertising only HE on a secondary link. This normally won't happen for the assoc link because that reuses the mode from authentication, and if that's not EHT, multi-link association is rejected. Fix this inconsistency by parsing the elements again if the mode was different from the first parsing attempt. Print the message a bit later to avoid printing "determined AP ... to be HE" twice in cases where ieee80211_determine_ap_chan() returned a lesser mode, rather than the regulatory downgrades below changing it. type=bugfix fixes=I3e61f4cfe9da89008e1854160093c76a1e69dc2a ticket=jira:WIFI-393939 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Change-Id: Ia21eff6cdcae2f5aca13cf8e742a986af5e70f89 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/104113 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/104592 x-iwlwifi-stack-dev: dba7032faa64b464a03067b29f90a756f67083ce
2024-04-17[BUGFIX] wifi: mac80211: mlme: fix memory leakJohannes Berg2-2/+4
When re-parsing the elements here (with changed mode), free the original ones first to avoid leaking memory. type=bugfix ticket=none fixes=I3e61f4cfe9da89008e1854160093c76a1e69dc2a Signed-off-by: Johannes Berg <johannes.berg@intel.com> Change-Id: Icb5b84cba3ea420794cf009cf18ec3d76e434736 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/104112 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/104591 x-iwlwifi-stack-dev: e801469d3852c28b87d45ab16dd05d0a806d4fb9
2024-04-17[BUGFIX] wifi: mac80211: mlme: re-parse with correct modeJohannes Berg2-2/+2
When doing re-parsing in ieee80211_determine_chan_mode(), the conn->mode is changed, and the whole point of doing the parsing again was to parse as the downgraded mode. However, that didn't actually work, because the setting was copied before and never changed again. Fix that. type=bugfix fixes=I3e61f4cfe9da89008e1854160093c76a1e69dc2a ticket=jira:WIFI-393939 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Change-Id: Ib0673e0bc90033fd6d387b6a5f107c040eb907cf Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/104111 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/104590 x-iwlwifi-stack-dev: 83b7c73d7762e4b63730c6687c69114886c007e0
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: don't request statistics in restartMiri Korenblit2-1/+8
During restart mac80211 notifies the driver about the association, (if we was associated before the restart) which causes the driver to request statistics from the FW. This causes to an immediate exit from EMLSR after the restart is done, when the statistics notif is handled. (too low TPT). There is no point in requesting statistics wnyway, since the FW just started and don't have any. type=bugfix ticket=jira:WIFI-404542 fixes=unknown Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I093514312179bae566ad8d73ffb0355c6eee288a Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/103539 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> (cherry picked from commit 30014ae4e8c0a2afc58615897035983a86cc247a) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/103723 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> PerCI-Ready: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: b0824b813b6c9368239816644ae18fec3e083a6f
2024-04-17[BUGFIX] wifi: mac80211: reserve chanctx during findJohannes Berg2-3/+30
When searching for a chanctx for re-use, it's later adjusted and assigned. It may also be that another one is already assigned to the link in question, so unassign can also happen. In short, the driver is called multiple times. During these callbacks, it may thus change active links (on another interface), which then can in turn cause the found chanctx (that's going to be reused) to get removed and freed. To avoid this, temporarily assign it to the reserved chanctx and track the link that wants to use it in the reserved_links list. This causes the ieee80211_chanctx_refcount() to be increased by one during these operations, thus avoiding the free. type=bugfix fixes=unknown ticket=jira:WIFI-404852 Change-Id: I0b247dbc0cd937ae6367bc0fc7e8d156b5d5f9b1 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/104078 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> (cherry picked from commit 6051d8e3cec3864214adced9d6be22d45283d025) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/103722 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> PerCI-Ready: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: 0ac16c47574aee7d132ebb518aa438c903cc2bf4
2024-04-17Revert "[BUGFIX][NOUPSTREAM] wifi: iwlwifi: set ↵Golan Ben Ami2-3/+2
IEEE80211_HE_MAC_CAP0_TWT_REQ in the he cap elem" This reverts commit 6c3c2170d60337f9c55c4158588961847b016a2a. This patch enabled TWT which due to echosystem readiness shouldn't be supported. Disable TWT. type=bugfix ticket=jira:WIFI-288728 fixes=I70bd452ee3acc8c98dc359626555ea4adc382ae3 Change-Id: I6ea4f1e30d0cf6a31f82fd2fff37783ecbdfba14 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/44401 Reviewed-by: Ben Ami, Golan <golan.ben.ami@intel.com> tested: iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> (cherry picked from commit 62bbae64a76d72d4bf3b8815634804e535160996) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/49713 (cherry picked from commit 6e4efd8e5a09ad19fba9517f8b47d58cc266d774) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/57071 (cherry picked from commit 0c26f5dd5eced37b497d110ed8cf6457759d6c8a) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/67826 PerCI-Ready: Ben Ami, Golan <golan.ben.ami@intel.com> PerCI-Ready: Goodstein, Mordechay <mordechay.goodstein@intel.com> tested: Ben Ami, Golan <golan.ben.ami@intel.com> (cherry picked from commit 60efc425e51a2912a9fec2cc52a6cece9f78bdf2) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/75589 (cherry picked from commit 9cbc2efcda64ac5c138b271fc8044fcb2144c75e) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/78754 (cherry picked from commit 9a4f83b1d0e7efb33c1349ef97af5f728a060dd9) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/103715 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> PerCI-Ready: Golan Ben Ami <golan.ben.ami@intel.com> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: f136d6d8fa3f27402cdb85d2973681c722c7eb45
2024-04-17wifi: iwlwifi: mvm: Add a print for invalid link pair due to bandwidthYedidya Benshimol2-12/+21
When validating a link pair for EMLSR, add a print for invalid link pair due to bandwidth type=cleanup ticket=none Signed-off-by: Yedidya Benshimol <yedidya.ben.shimol@intel.com> Change-Id: Id8edfd5e3774ea6475d5f4178ab7ea75a870ef95 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99999 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> (cherry picked from commit 2054e4a3c55e365973a7715f1009ac09ff306793) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100593 tested: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> PerCI-Ready: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: e1737ad9efc4b552113dd8d6dc7153c9da0bae42
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: return uid from iwl_mvm_build_scan_cmdMiri Korenblit2-2/+3
This function is supposed to return a uid on success, and an errno in failure. But it currently returns the return value of the specific cmd version handler, which in turn returns 0 on success and errno otherwise. This means that on success, iwl_mvm_build_scan_cmd will return 0 regardless if the actual uid. Fix this by returning the uid if the handler succeeded. type=bugfix ticket=none fixes=If9882e08045c74c27146108108b95b363a1b5ea6 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I4c4931021be74a67a869384c8f8ee7463e0c7857 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/102174 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Ilan Peer <ilan.peer@intel.com> (cherry picked from commit 7fd3996b1b4be3c74189efc9e2f4998850b288dd) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/102882 x-iwlwifi-stack-dev: bcd9b42bef5622984e470779f366902e3d135202
2024-04-17wifi: iwlwifi: mvm: Add active EMLSR blocking reasons printsYedidya Benshimol2-13/+25
Upon adding/removing an EMLSR blocking reason add to the print the EMLSR disabling mask type=feature ticket=none Signed-off-by: Yedidya Benshimol <yedidya.ben.shimol@intel.com> Change-Id: Ia7db0392d81818ceb70a7b199d3f5fa8a4ad198d Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99479 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> (cherry picked from commit 926c467c15e319298174cd55fff50e988c218569) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/101848 PerCI-Ready: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 88dc5a4b8965198e4e9202c8b927a8336c2df6d0
2024-04-17[BUGFIX] wifi: mac80211: check EHT/TTLM action frame lengthJohannes Berg2-1/+5
Check the EHT action frame length before accessing the action code, if it's not present then the frame cannot be valid. type=bugfix fixes=Ie72e47dc6f8c77d4a2f0947b775ef6367fe0edac ticket=none Change-Id: I71b439f016b28f65284bb7646fe36343b74cbc9a Reported-by: syzbot+75af45a00cf13243ba39@syzkaller.appspotmail.com Closes: https://lore.kernel.org/r/0000000000006c06870614886611@google.com/ Fixes: 8f500fbc6c65 ("wifi: mac80211: process and save negotiated TID to Link mapping request") Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/101450 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> (cherry picked from commit e4a33367978597a8bad042f5f560d438e92f845c) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/101847 PerCI-Ready: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 91a3276364781c8aeb8a7bf5ae7137efe513dfba
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: leave EMLSR before activating non-BSS linkMiri Korenblit8-36/+83
The call to iwl_mvm_block_esr() we will schedule an exit from EMLSR worker, but the worker cannot run before the activation of the non-BSS link, as ieee80211_remain_on_channel already holds the wiphy mutex. Fix that by explicitly calling ieee80211_set_active_links() to leave EMLSR, and then doing iwl_mvm_block_esr() only for consistency and to avoid re-entering it before ready. Note that a call to ieee80211_set_active_links requires to release the mvm mutex, but that's ok since we still hold the wiphy lock. The only thing that might race here is the ESR_MODE_NOTIF, so this changes its handler to run under the wiphy lock. type=bugfix ticket=jira:WIFI-397899 fixes=Idf3a3caf5cdc3e69c81710b7ceb57e87f2de87e4 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: Ib56c3dec69f5d9ef1c67241be554013af8bde056 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100195 Reviewed-by: Johannes Berg <johannes.berg@intel.com> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> (cherry picked from commit 549cd3b72a5b2ee34520c51e90e7b59e1fc4ced7) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/101525 x-iwlwifi-stack-dev: a0cea6cb1d5f3bd2b1c9caae9fb43904824e6a39
2024-04-17[BUGFIX] wifi: mac80211: defer link switch work in reconfigMiri Korenblit3-1/+13
If a link switch work was queued, and then a restart happened, the worker might be executed before the reconfig, and obviously it will fail (the HW might not respond to updates etc.) So, don't perform the switch if we are in reconfig, instead - do it at the end of the reconfig. type=bugfix ticket=jira:WIFI-397899 ticket=jira:WIFI-396976 fixes=unknown Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I19add3f2152dcfd55a759de97b1d09265c1cde98 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100211 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> (cherry picked from commit 6d04bae311e3588edd20e27daa00e7ac655ce579) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/101524 x-iwlwifi-stack-dev: 9e52a05c3ed3c5b661f15c5148440a36bf018897
2024-04-17wifi: iwlwifi: mvm: add a debugfs for reading EMLSR blocking reasonsYedidya Benshimol4-6/+41
Add a reading for all active EMLSR blocking reasons for testing purposes. type=feature ticket=none Signed-off-by: Yedidya Benshimol <yedidya.ben.shimol@intel.com> Change-Id: Ic0fa6a9636e3c1a3b1420e85e704a19d4a56e8d9 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99495 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> (cherry picked from commit 65e5579419c783d5f6fb969a347ec88e750bb845) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100592 PerCI-Ready: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 48bca211f4ca1f4c44ec3ed86245b677ad43fab3
2024-04-17[BUGFIX] wifi: mac80211: don't select link ID if not provided in scan requestAyala Beker2-13/+5
If scan request doesn't include a link ID to be used for TSF reporting, don't select it as it might become inactive before scan is actually started by the driver. Instead, let the driver select one of the active links. type=bugfix ticket=jira:WIFI-393745 fixes=Iae9605cbb7f9d52e00ce98260b3559a34cf18341 Change-Id: Ic28ed9a611432387b7f85e9ca9a97a4ce34a6e0f Signed-off-by: Ayala Beker <ayala.beker@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98979 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> (cherry picked from commit 53296f3a02f851cc2e6d6b2fecb98926fc7f4983) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99843 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> Reviewed-by: Ilan Peer <ilan.peer@intel.com> PerCI-Ready: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: 1f212343a388a77bc844fe5f451e26d2d0684779
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: count MPDUs also in EMLSRMiri Korenblit2-20/+18
In my previous bugfix I intended to not reset the counters/try to remove the TPT blocker if we are already in EMLSR, But by returning there we also skip the counting itself, which we should do also in EMLSR. Fix this. type=bugfix ticket=none fixes=I9b6a188b5ee93d8bbe0218533738c6d2c789f247 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I9e79bafb7bbb1fb0d0ff062842d51d4fb4b9f5cf Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100500 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> (cherry picked from commit c38a13ff6d3330dde3c2213b035572e8e7b04ecf) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100589 PerCI-Ready: Daniel Gabay <daniel.gabay@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: 08977015eb917dca508f304789004f7a62a27208
2024-04-17[BUGFIX] backport: use lockdep_assert() argument only with lockdepJohannes Berg2-2/+6
When CONFIG_LOCKDEP isn't defined, chances are the likely arguments containing e.g. lockdep_is_held() aren't either. Make the macro empty in that case. type=bugfix fixes=I8ec3ff76d2b09e193cefd309aa404f0f990e794e ticket=none Change-Id: Ibe3d50e7a2e3f1f9cd855c643c8afd3b6b98fcda Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99216 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> (cherry picked from commit 3a60b525633df5fb711235a0c086bee5328e0c57) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100363 PerCI-Ready: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 48683aa64b1048d5e2bb74e60713abadcf3d7318
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: fix check in iwl_mvm_sta_fw_id_maskJohannes Berg2-2/+2
In the previous commit, I renamed the variable to differentiate mac80211/mvm link STA, but forgot to adjust the check. The one from mac80211 is already non-NULL anyway, but the mvm one can be NULL when the mac80211 isn't during link switch conditions. Fix the check. type=bugfix fixes=I6357f05c55ef111002ddc169287eb356ca0c1b21 ticket=jira:WIFI-398442 Change-Id: I8c0119fce7b00cb4f65782930d2c167ed5dd0a6e Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100497 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Daniel Gabay <daniel.gabay@intel.com> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> (cherry picked from commit 5a5b6559577cc47a6a23156df77588aedaec79b4) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100364 PerCI-Ready: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 24ae9abb59f5aa92aa5d33ec9e80f6c449bac921
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: check correct restart bitJohannes Berg2-2/+2
Seems I copy/pasted the wrong bit, check the right one. type=bugfix ticket=none fixes=I4164f5c9c444b64a9abbaab14c23858713778e35 Change-Id: I1fb424216d3d9a4399dfcf70b3128c1293d9756e Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99794 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> (cherry picked from commit 133de80aad37abd8ef4ce72565d6f07c0d834e01) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99842 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> PerCI-Ready: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: efa5c95127c04c5cb449d15549af14b375a3f26b
2024-04-17[BUGFIX] wifi: mac80211: fix key programming during HW restartJohannes Berg2-5/+3
As _ieee80211_set_active_links() is invoked as part of recovery in the normal way it should be handled, it really also needs to handle keys in the normal way. Fix that. type=bugfix fixes=Iea3e7e5d8b2bb5db1dd93f6ca589e8ea1bacaf60 ticket=jira:WIFI-397887 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Change-Id: I3de2bad0321a95d7a3f9771484196ae1fe7ee0a5 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100343 Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> (cherry picked from commit c76e4b476ea11ce8364757e6b34c38370819fa9f) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100357 PerCI-Ready: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Benjamin Berg <benjamin.berg@intel.com> x-iwlwifi-stack-dev: 565bff91eb9aff3c08d2294bef6924c46e18eabc
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: fix primary link settingMiri Korenblit2-2/+2
mvmvif::primary link holds the ID and not a bitmap. Fix this type=bugfix ticket=none fixes=Ib218ca98c752004aaf1a994e1252cd82472bf8ab Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: Ia9297991ff2fdc82ae7c730e0069e2dd6e5f2902 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100262 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> (cherry picked from commit d457a6517729233170bcb30296f9d410160346a0) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100352 PerCI-Ready: Johannes Berg <johannes.berg@intel.com> x-iwlwifi-stack-dev: 5b43d62c46f000c1125626c094ced3b9f38eea86
2024-04-17wifi: iwlwifi: Add IWL_MVM_ESR_BLOCKED_NON_BSS to HANDLE_ESR_REASONSDaniel Gabay3-1/+4
Add IWL_MVM_ESR_BLOCKED_NON_BSS to HANDLE_ESR_REASONS so it will not be printed as "UNKNOWN". fixes=Ic086b6b2132ffe249b3c4bdd24c673ce7fd1b614 type=feature ticket=none Signed-off-by: Daniel Gabay <daniel.gabay@intel.com> Change-Id: If5ba7fe1118056105692a7b0988e24015dbf9bd3 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100196 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> (cherry picked from commit 0186f0f89d7f8ae4b1a5d7a380e8c9ef34ed8a71) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100355 x-iwlwifi-stack-dev: 44b3202c86d80d735648bdfb37f0b2dcaa804f54
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: avoid toggling EMLSR TPT blockerMiri Korenblit3-15/+16
In case that EMLSR in not blocked by tpt, but it is blocked due to another reason, and a statistics notif arrived just after the MPDU counters was reset in iwl_mvm_count_mpdu, iwl_mvm_update_esr_mode_tpt will get counters with a value that is lower than the threshold, and will block EMLSR. Then after some traffic, iwl_mvm_count_mpdu will unblock it back, and so on. To avoid that, return from iwl_mvm_update_esr_mode_tpt if EMLSR is not active, this function is not supposed to run when not in EMLSR anyway. type=bugfix ticket=jira:WIFI-397378 fixes=If9eb946e929a39e10fe5f4638bc8bc3f8976edf1 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I9b6a188b5ee93d8bbe0218533738c6d2c789f247 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100136 (cherry picked from commit 02a7d8b3f38e683dd87344afa81116ccf994ce7b) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100353 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: afbf95f497235847147fb03185d93dc60f0574c1
2024-04-17[BUGFIX] wifi: iwlwifi: reconfigure TLC during HW restartJohannes Berg2-7/+2
Since the HW restart flow with multi-link is very similar to the initial association, we do need to reconfigure TLC there. Remove the check that prevented that. type=bugfix ticket=jira:WIFI-396982 fixes=I42022f24bbe3572f5a082da8c99794ae14281875 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Change-Id: Ic798beccbb7b7d852dc976d539205353588853b0 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100087 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100282 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: 2cfc25d70da7797ddf813fad168f47b36ba03b7c
2024-04-17[BUGFIX] wifi: mac80211: reactivate multi-link later in restartJohannes Berg3-4/+12
In case of restart, we currently reactivate multi-link on interfaces before reconfiguring keys etc. which means the drivers need to handle this case differently. Enable more links later to allow them to handle it the same way. type=bugfix ticket=jira:WIFI-396982 fixes=unknown Change-Id: Ib3338d93872a4a568f38db0d02546534d3eff810 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99725 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100281 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: 6db370dd845bfab0f3a2b1ca7330bd45e6fc7804
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: don't change BA sessions during restartJohannes Berg2-1/+5
During restart, we haven't added BA sessions, so we also cannot change them to switch between links when that happens in restart. Short-circuit the appropriate function. type=bugfix fixes=unknown ticket=jira:WIFI-396982 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Change-Id: Ic604d384e660c755308a49a79d3f7e78bc27597c Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100020 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100280 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: 7464e1be397a75a6d1c9c23fae36d8461a2b8803
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: select STA mask only for active linksJohannes Berg2-5/+8
During reconfig, we might send keys, but those should be only sent to already active link stations. Iterate only active ones to fix that issue. type=bugfix fixes=Iae07b736c3109d085ad5b74ec8282ce45020da39 ticket=jira:WIFI-396982 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Change-Id: I6357f05c55ef111002ddc169287eb356ca0c1b21 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99762 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/100279 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: 1f552791923f9c0bfd5533a487c8b61dc789400c
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: fix resetting the MPDU countersMiri Korenblit2-2/+2
The wrong size is used in the memset(), so only the counter of the first link is zeroed. Fix that type=bugfix ticket=jira:WIFI-397279 fixes=If9eb946e929a39e10fe5f4638bc8bc3f8976edf1 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I7bc97c37c4fd2b10a86b1cd711578136e72aa884 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99866 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> (cherry picked from commit 5ba1c81c26e0ac3b340098dc234496481e390cd4) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99830 x-iwlwifi-stack-dev: d8de0c749605cb90bf699aaf9a6c16550ca776cc
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: init vif works only onceJohannes Berg4-51/+78
It's dangerous to re-initialize works repeatedly, especially delayed ones that have an associated timer, and even more so if they're not necessarily canceled inbetween. This can be the case for these workers here during FW restart scenarios, so make sure to initialize them only once. While at it, also ensure they're all cancelled correctly. type=bugfix ticket=jira:WIFI-395199 fixes=Ia1346c9ab21b52f5051c87e6c57e9ae77a32c31d fixes=I6406db40cf25eabdba602afd783466473b909216 fixes=I05009b247b9f5a18b749764c787f7447a315a434 fixes=Ibe5f512dc94496afa16dc1db23b141e0139f2416 Change-Id: I4164f5c9c444b64a9abbaab14c23858713778e35 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99354 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99183 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> PerCI-Ready: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: 724975493b6c8f4b766c528710c699e2c50e01c4
2024-04-17[BUGFIX] backport: fix compilation of lockdep_assert()Miri Korenblit2-1/+5
This macro is supported starting from v5.15. Backport it for older kernels. type=bugfix fixes=Iae62d39b4eabbbb053fa9a59d283346241d69a07 ticket=none Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I8ec3ff76d2b09e193cefd309aa404f0f990e794e Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99010 Reviewed-by: Johannes Berg <johannes.berg@intel.com> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99440 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> PerCI-Ready: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: d9244ad4c7b85e9fa29dc06412314596155d6fad
2024-04-17wifi: iwlwifi: mvm: Remove outdated commentMiri Korenblit2-4/+1
This comment was added when iwl_mvm_alloc_sta_after_restart configured the FW with an internal station, but then it was changed by 164a52d45e4a ("wifi: iwlwifi: mvm: send full STA during HW restart") to configure the full sta, So there is no reason to "wait for mac80211 to add the STA" as this is exacly where it happens. type=cleanup ticket=none Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: Icccd0640eb9f1ad72ff74792086435dfc0bee6eb Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98863 Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99439 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> tested: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: 0a0d6c3c87641419a4fc7872ad56bf7d9a6ba6cb
2024-04-17wifi: iwlwifi: mvm: allocate MPDU counters in iwl_mvm_sta_initMiri Korenblit3-15/+13
Instead of allocating in iwl_mvm_mld_add_sta and checking there that we are not in restart, allocate it in iwl_mvm_sta_init which is not called in restart type=cleanup ticket=none Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I6d78a93d62e6890c2db8656c14ece7366b40abb1 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98861 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99438 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: bea49312cb0dddc6bef61a23336c101383ea4ea4
2024-04-17wifi: iwlwifi: mvm: disable dynamic EMLSR when AUTO_EML is falseMiri Korenblit2-1/+10
When AUTO_EML is set to false, this change ignores the exit criteria, for testing purposes. Currently, if AUTO_EML is disabled, the driver will not select a link or enter EMLSR, but will still exit if one of the criteria is not fulfilled. type=feature ticket=none Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I46fd578a3ef6cdbf14fdc4dfa97b4be008fe68e3 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98860 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99437 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: 1fef99c607af59ad867b71e1c87cd624bafab1ad
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: include link ID when releasing framesBenjamin Berg2-14/+11
When releasing frames from the reorder buffer, the link ID was not included in the RX status information. This subsequently led mac80211 to drop the frame. Change it so that the link information is set immediately when possible so that it doesn't not need to be filled in anymore when submitting the frame to mac80211. type=bugfix ticket=jira:WIFI-392922 fixes=I12ef9eb4a5b8b5c2b9d6bcaa1fda73b59eba39d8 Change-Id: Iec1bf5c884e371f7bc5ea2534ed9ea8d3f2c0bf6 Signed-off-by: Benjamin Berg <benjamin.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98769 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> (cherry picked from commit 5e52ed3dfa9dfa1a2833d50a7c7e882b5285d9d5) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99174 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> PerCI-Ready: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: b513ef49a3cd10b250368042de0b591b5c3aa387
2024-04-17[BUGFIX] wifi: cfg80211: ignore non-TX BSSs in per-STA profileBenjamin Berg2-10/+39
If a non-TX BSS is included in a per-STA profile, then we cannot set transmitted_bss for it. Even worse, if we do things properly we should be configuring both bssid_index and max_bssid_indicator correctly. We do not actually have both pieces of information (and, some APs currently do not include either). So, ignore any per-STA profile where the RNR says that the BSS is not transmitted. Also fix transmitted_bss to never be set for per-STA profiles. This fixes issues where mac80211 was setting the reference BSSID to an incorrect value. type=bugfix ticket=jira:WIFI-392862 fixes=Ic9a67b8f022360aa202b870a932897a389171b14 Fixes: 2481b5da9c6b ("wifi: cfg80211: handle BSS data contained in ML probe responses") Change-Id: Iad447fea417c63f683da793556b97c31d07a4aab Signed-off-by: Benjamin Berg <benjamin.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/97840 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99325 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> PerCI-Ready: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: fbc9af76b6c0acb1e7aa9075928e3fa4ea3c40c0
2024-04-17wifi: cfg80211: check BSSID Index against MaxBSSIDBenjamin Berg2-2/+3
Add a verification that the BSSID Index does not exceed the maximum number of BSSIDs in the Multiple-BSSID set. type=feature ticket=none Change-Id: I02f40c2920a9f602898190679cc27d0c8ee2c67d Signed-off-by: Benjamin Berg <benjamin.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98022 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99324 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> tested: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: 1d1f0c924f1d2a024351fe54b8e115b790684a66
2024-04-17wifi: mac80211: improve association error reporting slightlyBenjamin Berg2-9/+11
There is no reason to check the request flags for each of the links, so pull that out of the loop. Also, within the loop we can set the per-link error everywhere. type=feature ticket=none Change-Id: I71b11a8d66a9cae4c27e242a47d1d92922609b03 Signed-off-by: Benjamin Berg <benjamin.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98021 Reviewed-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99323 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: 4b01b90544d3335d9153101f1f5c7f03d94a0c40
2024-04-17[BUGFIX] wifi: mac80211: correctly use defragmented STA profileJohannes Berg2-2/+2
For the cross-link CSA, we want to defragment the STA profile in place to check potential elements inside. However, it's an element, but we defragment only the data, so it no longer has an element header after the defragmentation. Use it correctly. type=bugfix fixes=Ie8453979f5805873a8411c99346bcc3810cd6476 ticket=jira:WIFI-395465 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Change-Id: If8a76780dcb0fc29fc014561ee06ab65bb53646e Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99012 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99147 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> PerCI-Ready: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: baa8405b4cb6e90dcf3f41607a8786fdd7d20677
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: handle debugfs names more carefullyJohannes Berg2-5/+8
With debugfs=off, we can get here with the dbgfs_dir being an ERR_PTR(). Instead of checking for all this, which is often flagged as a mistake, simply handle the names here more carefully by printing them, then we don't need extra checks. Also, while checking, I noticed theoretically 'buf' is too small, so fix that size as well. type=bugfix fixes=I805a28f9fbef5c52a3a575d04e7a6a909ecf9078 ticket=jira:WIFI-380051 Cc: stable@vger.kernel.org Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218422 Fixes: c36235acb34f ("wifi: iwlwifi: mvm: rework debugfs handling") Signed-off-by: Johannes Berg <johannes.berg@intel.com> Change-Id: I32f308b0356ef5bcf8d188dd98ce9b210e3ab9fd Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98932 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99146 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: 5ed8c4792d724df0ca54137264762a78938907e4
2024-04-17[BUGFIX] wifi: mac80211: fix prep_connection error pathJohannes Berg2-3/+4
If prep_channel fails in prep_connection, the code releases the deflink's chanctx, which is wrong since we may be using a different link. It's already wrong to even do that always though, since we might still have the station. Remove it only if prep_channel succeeded and later updates fail. type=bugfix fixes=unknown ticket=jira:WIFI-390588 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Change-Id: I033c9b15483933088f32a2c0789612a33dd33d82 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98829 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> (cherry picked from commit bf425245a0567060cca3b918bf4fc16fe93d1cfe) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98265 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: 416dba3ba22c47acc3284d2198c22a308ab6e863
2024-04-17wifi: iwlwifi: mvm: don't reset link selection during restartJohannes Berg2-4/+7
After restart, we might want to end up with the same config as before, even for multi-link/EMLSR. Therefore, don't reset the stored link selection result in that case. type=feature ticket=none Change-Id: Ie8267082f623d14376a2052d222e18da6545f34b Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98846 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99155 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> PerCI-Ready: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: f5f15c8ffea3463d3a809cbc9b730f6b636a7c7a
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: leave EMLSR before D3Johannes Berg3-4/+14
With the call to iwl_mvm_block_esr() the flow won't really leave EMLSR before actually suspending, since that only calls ieee80211_set_active_links_async() internally, but the worker cannot run as the suspend already holds the wiphy mutex. Fix that by explicitly calling ieee80211_set_active_links() to leave EMLSR, and then doing iwl_mvm_block_esr() only for consistency and to avoid re-entering it before ready after resume. Note that this also requires iwl_mvm_get_primary_link() to be called without mvm->mutex held, but we can actually do that as (since the prior change to set primary_link in the correct place) the data it looks at is changed only with both of the locks held. Change lockdep checks accordingly. type=bugfix fixes=I84233cb1c79ba538defafb8ddb983c47f04a400a ticket=jira:WIFI-394785 Change-Id: Iae62d39b4eabbbb053fa9a59d283346241d69a07 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98624 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99154 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> tested: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: c64ae1f7a421231b5b7978f7ea9152edc5afac14
2024-04-17mirror: new branch creatediwlwifi publisher1-1/+1
x-iwlwifi-stack-dev: d08e7ad6dc8e584fb122e9d2ab3ebaefa9080971
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: always assign primary_linkJohannes Berg5-5/+21
The driver is currently setting the primary_link only if it's actually doing link selection itself. If active links change via mac80211 debugfs, we may end up with primary_link set to one that's not even active later. Additionally, activation is async, so the primary_link is set incorrectly before it runs or if it fails. Save the decision logic's primary link and use it when the link selection result is actually applied; if something else is applied, just pick arbitrarily. type=bugfix fixes=Ia00cf593a7264aaac8faab53ca4628330df7c696 fixes=I5baf0c293c89a5a28bd1a6386bf9ca6d2bf61ab8 ticket=jira:WIFI-393580 Change-Id: Ib218ca98c752004aaf1a994e1252cd82472bf8ab Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98576 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99152 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: 6119d719e631d2ff05a1a2c2a17baae808946871
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: mark EMLSR disabled in cleanup iteratorBenjamin Berg2-1/+4
During HW restart only one link will be active initially and other links are only activated again later on. With only a single link EMLSR cannot be enabled and having it marked enabled confuses the internal state. Mark EMLSR as disabled in the cleanup iterator, it can be reenabled later one once this is possible. type=bugfix ticket=none fixes=unknown Change-Id: Ic4d50695b9bb332190dc712473096083aa96074b Signed-off-by: Benjamin Berg <benjamin.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/97642 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99151 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> PerCI-Ready: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: 49d204b1625cbef0e54e9d0409a2f81d96170805
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: fix active link counting during recoveryBenjamin Berg2-13/+9
During recovery, the chanctx_conf in mac80211 is still non-NULL even though the channel context has not yet been assigned again. In that case, the real count is actually lower. Switch to instead count the phy_ctx assignment and ensure that the assignment is cleared at the start of recovery. type=bugfix ticket=none fixes=Ia94b2c7ae97df98d78729ad2b4f2d10dae0f7c69 Change-Id: I57006568a90ffb7a1232def1b2f3264dea711ba6 Signed-off-by: Benjamin Berg <benjamin.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/97641 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99150 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: b26b3df94258c19fea04d07ebeadfd69864837f0
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: assign link STA ID lookups during restartBenjamin Berg2-2/+13
When restarting the HW, mac80211 first adds the STA back with only one link enabled. This means that iwl_mvm_alloc_sta_after_restart will not see the other links and will not do the assignment. As such, do the assignment when mac80211 is activating the link for the station. type=bugfix ticket=none fixes=unknown Change-Id: I7cb6cf096ab135f4b489f2806b116563624aa5ee Signed-off-by: Benjamin Berg <benjamin.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/96673 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99149 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: ee49d9a2fdfb885676725a8e98fd008c17a00aa1
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: guard against invalid STA ID on removalBenjamin Berg2-2/+7
Guard against invalid station IDs in iwl_mvm_mld_rm_sta_id as that would result in out-of-bounds array accesses. This prevents issues should the driver get into a bad state during error handling. type=bugfix ticket=jira:WIFI-393588 Change-Id: I1cffd86363805bf86a95d8bdfd4b438bb54baddc Signed-off-by: Benjamin Berg <benjamin.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98218 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/99148 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: 101f93c8a4b586b3d1e8749dcd83986660499170
2024-04-17[BUGFIX] wifi: mac80211: don't enter idle during link switchJohannes Berg4-17/+24
When doing link switch with a disjoint set of links before and after the switch, we end up removing all channel contexts, adding new ones later. This looks like 'idle' to the code now, and we enter idle which also includes flushing queues. But we can't actually flush since we don't have a link active (bound to a channel context), and entering idle just to leave it again is also wrong. Fix this by passing through an indication that we shouldn't do any idle checks in this case. type=bugfix fixes=unknown ticket=jira:WIFI-394211 Change-Id: If4a522a9dd3133b91983854b909a4de13aa635da Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98541 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> (cherry picked from commit 058c30f1131e35607277dc2561a66eb4ee3590a3) Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98264 Reviewed-by: Golan Ben Ami <golan.ben.ami@intel.com> PerCI-Ready: Golan Ben Ami <golan.ben.ami@intel.com> x-iwlwifi-stack-dev: 4f70dc32c2a2f96cb53f44cd683dd7b061f0fbbd
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: allocate STA links only for active linksJohannes Berg2-4/+4
For the mvm driver, data structures match what's in the firmware, we allocate FW IDs for them already etc. During link switch we already allocate/free the STA links appropriately, but initially we'd allocate them always. Fix this to allocate memory, a STA ID, etc. only for active links. type=bugfix fixes=I0b37f7fb915f343d368a80e3b6fe10c76be5357e ticket=none Change-Id: Ie891e1cc9c9df09ae22be6aad5c143e376f40f0e Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98731 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 72bcec7bc1cc6ffba553b90c7e03a831c6cf0503
2024-04-17wifi: iwlwifi: mvm: fix kernel-doc formatJohannes Berg2-2/+2
Add a missing space. type=cleanup ticket=none fixes=I7a8a5b24658744ed732bfc03b1872c9298483d62 Change-Id: I1417cc5cc8924e05b0ec6071e056592e8ac99ed3 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98623 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 2a98eb838a9effe695b8381a287906fc1040e909
2024-04-17wifi: iwlwifi: Print ESR states nameDaniel Gabay2-10/+48
This is useful for debug instead of looking for the hex value. type=feature ticket=none Signed-off-by: Daniel Gabay <daniel.gabay@intel.com> Change-Id: Ic086b6b2132ffe249b3c4bdd24c673ce7fd1b614 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98275 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: 012a459afcbdac0efc950dcc9818c8fb8eaafc8e
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: clear PMF flag when unprotected ftm is forcedAvraham Stern2-2/+6
When unprotected ftm is forced, need to also clear the PMF flag. type=bugfix ticket=none fixes=I7ab6c547513717e69ec385f72a8f43ea00bd9e0a Signed-off-by: Avraham Stern <avraham.stern@intel.com> Change-Id: If8a9dfe38ec57559465ad035fed1aedd93f1b01f Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/97999 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 97ca6a2fedfd5da90a4b23f2466e034d53274fcb
2024-04-17[BUGFIX] wifi: mac80211: parse puncturing bitmap in 6 GHzJohannes Berg2-1/+3
In ieee80211_chandef_he_6ghz_oper(), the HE/EHT information for the 6 GHz channel is parsed, but ieee80211_chandef_eht_oper() calls must be paired with extracting the puncturing bitmap. Fix this. type=bugfix fixes=I4d7fe2f126b2366c1312010e2900dfb2abffa0f6 ticket=jira:WIFI-379740 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Change-Id: Id0dca4624127fa8f8e8aba1dcf9890b6327a3795 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98602 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: a87eb110edd96bc69c6c0281d115c53e00ea2afe
2024-04-17wifi: iwlwifi: enable monitor on passive/inactive channelsJohannes Berg3-4/+13
If firmware supports pure passive monitor on passive/inactive channels, enable that. type=feature ticket=jira:WIFI-389883 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Change-Id: I9969d3a46fed48e67fa28a7d00080b0dd314dabd Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98500 Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: e041616bc17d722b4bb8fe1afc84017a350a81b5
2024-04-17wifi: iwlwifi: mvm: Block EMLSR when a p2p/softAP vif is activeYedidya Benshimol3-1/+66
When there's an active link in a non-station vif, the station vif is not allowed to enter EMLSR type=feature ticket=jira:WIFI-387642 Signed-off-by: Yedidya Benshimol <yedidya.ben.shimol@intel.com> Change-Id: Idf3a3caf5cdc3e69c81710b7ceb57e87f2de87e4 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/97995 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: df8cac2a4737ab255ffa1023bd9a92b97c9cec6b
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: Do not warn on invalid link on scan completeIlan Peer2-2/+7
As it is possible that by the time the scan is completed the link was already removed. type=bugfix ticket=jira:WIFI-394257 fixes=I6c4941bfab3a04498370e58b402c64d990c39fbf Signed-off-by: Ilan Peer <ilan.peer@intel.com> Change-Id: I0523e92547f0288c8b0119b1fdc5e967a5a8956e Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98475 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 29c6b05163fb31043f50ee3e0b06d2d310d1e87f
2024-04-17wifi: iwlwifi: remove 6 GHz NVM overrideJohannes Berg2-6/+1
We shouldn't override the flags to zero here for 6 GHz capable devices any more, but since LAR will be there, this also shouldn't make a difference now. type=cleanup ticket=none Signed-off-by: Johannes Berg <johannes.berg@intel.com> Change-Id: I1ae23a509fad252c0237e74defba6cb74b6ca188 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98499 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 16e43274561f0f64e89f23ab05e1a102647824e5
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: do not allocate mpdu_counters on restartBenjamin Berg2-2/+3
The MPDU counters are already allocated on HW restart. type=bugfix ticket=none fixes=If9eb946e929a39e10fe5f4638bc8bc3f8976edf1 Change-Id: I348133adb4d0e69c993e830a245f281b8c8fe1d8 Signed-off-by: Benjamin Berg <benjamin.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98193 Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: d05093dd32b1e87ddf5eed3277bf2d41cbc49e79
2024-04-17[BUGFIX] wifi: mac80211: do not call ieee80211_key_switch_links during reconfigBenjamin Berg2-3/+5
The keys will be configured later by a call to ieee80211_reenable_keys. type=bugfix ticket=none fixes=unknown Change-Id: Iea3e7e5d8b2bb5db1dd93f6ca589e8ea1bacaf60 Signed-off-by: Benjamin Berg <benjamin.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/96672 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> x-iwlwifi-stack-dev: 18d9c6ae4aacc53bf380886e35a99dfaaed748f6
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: set the primary link when !IWL_MVM_AUTO_EML_ENABLEEmmanuel Grumbach2-2/+4
If IWL_MVM_AUTO_EML_ENABLE is clear, we won't be able to pick links automatically. We still need to set the primary_link of the vif. type=bugfix ticket=none fixes=I5baf0c293c89a5a28bd1a6386bf9ca6d2bf61ab8 Change-Id: Ia00cf593a7264aaac8faab53ca4628330df7c696 Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98386 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 68ede00dabb094a2295b01c226ddb41a30be0cfe
2024-04-17wifi: iwlwifi: mvm: don't support puncturing in 5 GHzJohannes Berg2-1/+3
This is simply not supported, so set the flag for it. type=feature ticket=none Signed-off-by: Johannes Berg <johannes.berg@intel.com> Change-Id: Ib740b341af0ca6c3e06cc9a0b04447a6635df7a8 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98217 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 9e83dd4c8fa80bfa0bb7708745b3bf815ff8fab9
2024-04-17wifi: mac80211: add flag to disallow puncturing in 5 GHzJohannes Berg4-1/+9
Some devices may not be capable of handling puncturing in 5 GHz only (vs. the current flag that just removes puncturing support completely). Add a flag to support such devices: check and then downgrade the channel width if needed. type=feature ticket=none Signed-off-by: Johannes Berg <johannes.berg@intel.com> Change-Id: I12c5a61f0be512e0c4e574c2f794ef4b37ecaf6b Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98216 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: e2b2a4f59474119d47047802b901be4aeb39b8e6
2024-04-17[BUGFIX] wifi: iwlwifi: read txq->read_ptr under lockJohannes Berg2-2/+2
If we read txq->read_ptr without lock, we can read the same value twice, then obtain the lock, and reclaim from there to two different places, but crucially reclaim the same entry twice, resulting in the WARN_ONCE() a little later. Fix that by reading txq->read_ptr under lock. type=bugfix fixes=I69ecae8a6b5e88fc11fe6d42959e696555f9ff02 ticket=jira:WIFI-317330 Change-Id: I978a7ca56c6bd6f1bf42c15aa923ba03366a840b Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98119 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 839954ab0a33728f9ec47f882fb17de04b2f8096
2024-04-17[BUGFIX] wifi: mac80211: transmit deauth only if link is availableJohannes Berg5-27/+47
There's an issue in that when we disconnect from an AP due to the AP switching to an unsupported channel, we might not tell the driver about this before we try to send the deauth. If the underlying implementation has detected the quiet CSA, this may cause issues if this is the only active link. Avoid this by transmitting (and flushing) the deauth only when there's an active link available that's not affected by quiet CSA. Since this introduces link->u.mgd.csa_blocked_tx and we no longer check sdata->csa_blocked_tx for the TX itself also rename the latter to csa_blocked_queues. type=bugfix fixes=I2469d206e2bf5cb244cfde2b4bbc2ae6d1cd3dd9 ticket=none Change-Id: Iad3a5df3367f305dff48cd61776abfd6cf0fd4ab Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/97606 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 441b91ae26e329a72f8ed17877248dff28f9105e
2024-04-17wifi: iwlwifi: fw: add clarifying comments about iwl_fwrt_dump_dataJohannes Berg3-1/+7
iwl_fw_dbg_collect_sync() unconditionally accesses 'trig' at the beginning of the function, even though the data has an inner union and 'trig' isn't necessarily always used, it can be 'desc' instead. Add comments clarifying why this is OK, that 'trig'/'desc' must be first in the struct and how in it the use of the union's sub-structs is differentiated. type=cleanup ticket=none Change-Id: I91c588e0d66b49f0ee9103e8d4a0e501c2fd36d6 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98075 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 58c28c4f366de8f72417b73138595a81ab43345e
2024-04-17[BUGFIX] wifi: iwlwifi: fw: don't always use FW dump trigJohannes Berg2-8/+9
Since the dump_data (struct iwl_fwrt_dump_data) is a union, it's not safe to unconditionally access and use the 'trig' member, it might be 'desc' instead. Access it only if it's known to be 'trig' rather than 'desc', i.e. if ini-debug is present. type=bugfix fixes=I71da6a799253650f3d0b181315de388cb9360e30 ticket=jira:WIFI-388350 Change-Id: I72fbd6135b3623227de53d8a2bb82776066cb72b Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98072 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: facf0c287ba1344e831de8eddef48ad19cde8c1c
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: don't warn if there is no ap staMiri Korenblit2-2/+2
When we disconnect and EMLSR mode is active, we get to iwl_mvm_esr_mode_inactive after the sta is removed, and then the call to iwl_mvm_restart_mpdu_count will result a warning. But this is actually a valid case, Simply don't warn. type=bugfix ticket=jira:WIFI-393581 fixes=If9eb946e929a39e10fe5f4638bc8bc3f8976edf1 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I527dd7a27f55f4c8edaeeeb7011e0ccb480274aa Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98145 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: 7c7b52a83802a0b26411f1c7bb67b76f39e4b230
2024-04-17wifi: iwlwifi: mvm: fix typo in debug printMiri Korenblit2-3/+3
Change EMSLR to EMLSR type=cleanup ticket=none fixes=I552926065521f5f848c37b0bd845494bd7865fb7 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I135e28b89fab3b614ad8758c0305834934f8c0af Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98141 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> x-iwlwifi-stack-dev: ba01fec377607ba442677aa8838ceab108ee7588
2024-04-17Merge remote-tracking branch 'auto/master'Miri Korenblit5-33/+29
Merge tag 'v6.8-rc7' Linux 6.8-rc7 Commits in this merge: Benjamin Berg (1): wifi: iwlwifi: mvm: ensure offloading TID queue exists Emmanuel Grumbach (1): wifi: iwlwifi: mvm: fix the TXF mapping for BZ devices Felix Fietkau (1): wifi: mac80211: only call drv_sta_rc_update for uploaded stations Jakub Kicinski (1): Merge tag 'wireless-2024-02-27' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless Jeff Johnson (2): MAINTAINERS: wifi: update Jeff Johnson e-mail address MAINTAINERS: wifi: Add N: ath1*k entries to match .yaml files Johannes Berg (1): wifi: nl80211: reject iftype change with mesh ID change Linus Torvalds (4): Merge tag 'mm-hotfixes-stable-2024-02-27-14-52' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Merge tag 'regulator-fix-v6.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator Merge tag 'net-6.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net Merge tag 'riscv-for-linus-6.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux Lorenzo Stoakes (1): MAINTAINERS: add memory mapping entry with reviewers Lukas Bulwahn (1): MAINTAINERS: repair entry for MICROCHIP MCP16502 PMIC DRIVER Samuel Holland (1): MAINTAINERS: Update SiFive driver maintainers x-git-tracker-backport: 2d21dea58bded4804313c0b53554673821f574b1 x-git-tracker-iwlwifi: 2d797fe5a5f5514f9e8cb5ce5b0e8e4cba179153 Change-Id: Ie17b96fa747f8bc46db4a6b294d13e59bf1d18b9 x-iwlwifi-stack-dev: 9e19995e331ca5868f0ff2bb2a5c28f28fead099
2024-04-17[BUGFIX] wifi: mac80211: handle link deactivated before/during CSAJohannes Berg4-7/+30
If a link has CSA that isn't active, we cannot ask the driver to handle the CSA even if it implements that API. Additionally, if the driver deactivates a link during CSA, schedule the work rather than expecting it to call ieee80211_chswitch_done(). type=bugfix fixes=Ie8453979f5805873a8411c99346bcc3810cd6476 ticket=none Change-Id: I7886f3552865690181ae08d6026fe53530455714 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/97820 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 0b2babb15fd11fff51a3d2c38cda859986292486
2024-04-17wifi: iwlwifi: add ESR_MODE_NOTIF to iwl_hcmd_namesDaniel Gabay2-1/+2
This is needed for debug purposes. type=feature ticket=none Signed-off-by: Daniel Gabay <daniel.gabay@intel.com> Change-Id: I263fbdbb635afa38f0e59be552eb77ad15b510d0 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98103 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 0fe9f6a7082c5ec6cde2475e32fe5bc3bc931e76
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: fix build when KUnit is not definedMiri Korenblit2-1/+2
iwl_mvm_mld_valid_link_pair should be static when KUnit is not defined. Add a VISIBLE_IF_IWLWIFI_KUNIT to its implementation. type=bugfix ticket=none fixes=I5baf0c293c89a5a28bd1a6386bf9ca6d2bf61ab8 fixes=I65e4698b730a8652ad8d1c01420aabb41a1d04fd Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I1aeac95a4927fa202b10426959006436909c46d0 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/98014 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> x-iwlwifi-stack-dev: aa5b81844464d212376536f7f9846708d4dd0014
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: always apply 6 GHz probe limitationsBenjamin Berg2-67/+90
When scanning on 6 GHz we allocate a set of short-SSIDs and BSSIDs to probe. However, when we need to do an active scan because of a hidden SSID, then we could add too many entries for probing causing an assertion in the firmware input validation. Reshuffle the code a bit to first calculate the maximum number of short-SSIDs and BSSIDs that are permitted for the channel. Then ensure that we do not set more than the permitted number of bits in the bitmasks and turn on force_passive when we have surpassed the limit. While at it, also change the logic so that allow_passive is always disabled in case a hidden SSID is included. Previously, we might not have done so if we added the short-SSID based on the number of BSSIDs already in the request. type=bugfix ticket=jira:WIFI-390589 fixes=unknown Change-Id: Ib86afccdb955f0d221ef5d7b8afdc1d67c3542ef Signed-off-by: Benjamin Berg <benjamin.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/97566 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Ilan Peer <ilan.peer@intel.com> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: efc2b70e18ecd1c8ab22057b7c5c473de2a445cc
2024-04-17[BUGFIX] wifi: cfg80211: handle indoor AFC/LPI AP in probe response and beaconAnjaneyulu2-1/+5
Mark Indoor LPI and Indoor AFC power types as valid based on channel flags. While on it, added default case. type=bugfix ticket=jira:WIFI-373949 fixes=unknown Change-Id: I23cfa1104a16fd4eb9751b3d0d7b158db4ff3ecd Signed-off-by: Anjaneyulu <pagadala.yesu.anjaneyulu@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/95736 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 8c549599da66b9372e934c189cc732c44b02e8fa
2024-04-17[BUGFIX] wifi: mac80211: handle indoor AFC/LPI AP on assoc successAnjaneyulu3-4/+8
Update power_type in bss_conf based on Indoor AFC and LPI power types received in HE 6 GHz operation element on assoc success. type=bugfix ticket=jira:WIFI-373949 fixes=unknown Signed-off-by: Anjaneyulu <pagadala.yesu.anjaneyulu@intel.com> Change-Id: Ifd8b2983f400623ac03dc032fc9a20025c9ca365 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/93956 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 59db36e07e724858f7f833efd87a3b7d3cfb18b5
2024-04-17wifi: iwlwifi: mvm: support iwl_dev_tx_power_cmd_v8Emmanuel Grumbach6-5/+43
This just adds a __le32 that we (currently) don't use. type=feature ticket=jira:WIFI-378441 Change-Id: I39cf2ff1d1ddf0fa62722538698dc7f21aaaf39e Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/97860 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: fe49158b3c8b327dcb9e3ecda204fe215cebb0e0
2024-04-17wifi: iwlwifi: mvm: exit EMLSR when CSA happensJohannes Berg6-27/+116
If CSA is happening, then exit EMLSR to keep the better link, which is the primary link unless that's doing the CSA with quiet. This is done because we can't transmit the OMN frame on a quiet link, but want to exit EMLSR during CSA for better beacon reception, so we can follow the switch accurately. type=feature ticket=jira:WIFI-379423 Change-Id: I2620971fa5aef789e0d4a588def4c2621e8bed5b Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94205 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: bee758fa9d560fea001a7867e67943b9877be451
2024-04-17wifi: mac80211: mlme: handle cross-link CSAJohannes Berg3-87/+371
If we see a channel switch announcement on one link for another, handle that case and start the CSA. The driver can react to this in whatever way it needs. The stack will have the ability to track it via the RNR/MLE in the reporting link's beacon if it sees it for inactive links and adjust everything accordingly. Note that currently the timings for the CSA aren't set, the values are only used by the Intel drivers, and they don't need this for newer devices that support MLO, so I've left it out for now. type=feature ticket=none Change-Id: Ie8453979f5805873a8411c99346bcc3810cd6476 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94194 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: ccb166ee4d887750cf12f3c2380e9e3aec65de4c
2024-04-17wifi: iwlwifi: mvm: Disable/enable EMLSR due to link's bandwidth/bandYedidya Benshimol5-36/+64
Enable EMLSR when bandwidth settings meet the criteria in both band and width, otherwise disable. type=feature ticket=jira:WIFI-387636 Signed-off-by: Yedidya Benshimol <yedidya.ben.shimol@intel.com> Change-Id: I3adf5619b60bfba8af0cd7eae9dac947419603b6 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/95645 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: efecafd83fd5f76044262ea60e43a78d59bce2b2
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: initialize unblock_esr_tpt_wk also for non-MLOMiri Korenblit3-16/+16
This work is initialized in the MLD API code, but cancelled in the code thats is common to both non-MLD and MLD, leading to a NULL dereference in non-MLD devices type=bugfix ticket=none fixes=If9eb946e929a39e10fe5f4638bc8bc3f8976edf1 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: Ibe5f512dc94496afa16dc1db23b141e0139f2416 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/97813 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: 81e882a87e7b4529c858f8c4708728bdb3a34b89
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: initialize mlo_int_scan_wk also for non-MLOMiri Korenblit3-16/+19
This work is initialized in the MLD API code, but cancelled in the code thats is common to both non-MLD and MLD, leading to a NULL dereference in non-MLD devices type=bugfix ticket=none fixes=Ia79605838eb6deee9358bec633ef537f2653db92 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I05009b247b9f5a18b749764c787f7447a315a434 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/97772 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: 89cdde18cf0623840329b5291f7a3090339080b7
2024-04-17wifi: iwlwifi: mvm: avoid always prefering single-linkMiri Korenblit2-3/+3
The new link selection algorithm uses defaults values for BSS load if the BSS Load element was not published by the AP. For 6 GHz, that value is 0. So if the best link is 6 GHz, the EMLSR grade to always be equal to the grade of the best link, and then the best link grade is getting a bonus of 10 percent, meaning that we will never activate EMLSR. Change the logic to not give a bonus for the best link. type=feature ticket=none Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: Ie40eae0dd99d82ba60dea5b6dbcd42dcdf16b90d Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/97617 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: e5f4905d1daf77e372f5061b0cc71e5cc1c988b4
2024-04-17wifi: iwlwifi: mvm: trigger link selection upon TTLM start/endMiri Korenblit2-1/+6
When non default TTLM is applied, mac80211 may force us to use a specific link (For example, if the only active link becomes a dormant link, mac80211 will pick the first usable link and set it as active). When default TTLM is applied, we have new usable links that we might want to select. Therefore, trigger MLO scan and link selection upon change in TTLM. type=feature ticket=none Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I0168e61da86b2027633743aaf5d97e483991f0dc Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/97459 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Ilan Peer <ilan.peer@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: dd4d29d5a5ccef805b301d34229e26e94d4798db
2024-04-17wifi: iwlwifi: mvm: consider FWs recommendation for EMLSRMiri Korenblit6-2/+57
FW sends a notification indicating whether activating EMLSR mode is recommended or not. Support the notification and enter EMLSR only if recommended. type=feature ticket=jira:WIFI-387613 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I7a8a5b24658744ed732bfc03b1872c9298483d62 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/97198 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> x-iwlwifi-stack-dev: a5d76b68af4a502a4244442950ce18b118b95232
2024-04-17wifi: iwlwifi: mvm: Activate EMLSR based on traffic volumeMiri Korenblit12-8/+249
Adjust EMLSR activation to account for traffic levels. By tracking the number of RX/TX MPDUs, EMLSR will be activated only when traffic volume meets the required threshold. type=feature ticket=jira:WIFI-387628 ticket=jira:WIFI-387625 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: If9eb946e929a39e10fe5f4638bc8bc3f8976edf1 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/96676 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> x-iwlwifi-stack-dev: 0d8880411d366ab2e5abcddb0e48f9387a9bbd42
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: don't always unblock EMLSRMiri Korenblit2-4/+6
When an event occurs to unblock EMLSR, the code attempts to re-enable EMLSR. However, the current implementation always tries to activate EMLSR, regardless of whether the blocker was set before the unblocking event or not. If EMLSR was already unblocked, there is no need to re-activate it. type=bugfix ticket=none fixes=I552926065521f5f848c37b0bd845494bd7865fb7 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I6a1d9f774f5551cfab60ea37b71a62640496af9b Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/97069 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: 4f1134ef5e19536e18d0b1d08e56161aa0828cf9
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: stop MLO scan in drv_stopMiri Korenblit2-1/+6
Since it is an internal scan, mac80211 won't stop it on stop flow. type=bugfix ticket=none fixes=I4a41065f6b3a6ec6c6e44e83bc97c277ff7c599e Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I92bcc8b38c29be7dba66db196d986c7808bc5f1b Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/97458 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: Ilan Peer <ilan.peer@intel.com> x-iwlwifi-stack-dev: baf508710261ab43b021466be3904956d62bfec6
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: flush async_handlers_wiphy_wk on stopMiri Korenblit2-1/+2
During the stop flow, the async_handlers_wk is flushed but the async_handlers_wiphy_wk is not, leading to a potential issue where the scan status may not be cleared, resulting in a warning in __iwl_mvm_mac_stop. This occurs because the scan_complete_umac notification handler is now running as a wiphy work and may not be scheduled before the status check. To fix this, flush the notification handlers that run as a wiphy work as well. type=bugfix ticket=none fixes=I5baf0c293c89a5a28bd1a6386bf9ca6d2bf61ab8 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I6cdb4b1a68c95b7ddf53b791cc980c981754b3d4 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/97457 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: Ilan Peer <ilan.peer@intel.com> x-iwlwifi-stack-dev: b079e954b45a5f3a22812786127dc1178e713d8e
2024-04-17wifi: iwlwifi: mvm: Always allow entering EMLSR from debugfsMiri Korenblit4-15/+9
EMLSR can't be activated from mac80211. Except for the debugfs, which is intended for testing purposes. Currently we don't allow entering EMLSR from debugfs if EMLSR is blocked, i.e. if mvmvif::esr_disable_reason is not 0. But we need a way to activate EMLSR regardless of the vif being blocked, for testing. Remove the check of esr_disable_reason type=feature ticket=none Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: Iad60e22a0d7e2b2b989051e1140b6dc98bef7bcc Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/97030 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> x-iwlwifi-stack-dev: 1a0a3cee47f28c0973baeba82e2d8a073c1831c0
2024-04-17wifi: iwlwifi: mvm: add a debugfs for (un)blocking EMLSRMiri Korenblit2-1/+30
This is needed for testing purposes. type=feature ticket=none Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I5f058e02abda11bf2eccfd2bcb59ca26bae87a3a Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/96663 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> x-iwlwifi-stack-dev: 405585e8a0abdbb13b80a84866dfe140aba4d716
2024-04-17wifi: iwlwifi: mvm: trigger link selection after exiting EMLSRMiri Korenblit8-52/+155
If the reason for exiting EMLSR was a blocking reason, wait for the corresponding unblocking event: - if there is an ongoing scan - do nothing. Link selection will be triggered at the end of it. - If more than 30 seconds passed since the exit, trigger MLO scan, which will trigger link selection - If less then 30 seconds passed since exit, reuse the latest link selection result If the reason for exiting EMLSR was an exit reason (IWL_MVM_EXIT_*), schedule MLO scan in 30 seconds. type=feature ticket=jira:WIFI-387619 ticket=jira:WIFI-387615 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: Ia79605838eb6deee9358bec633ef537f2653db92 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/96234 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: Ilan Peer <ilan.peer@intel.com> x-iwlwifi-stack-dev: 3aaddae568ddb8a5586e8fc00d9c7e1a36cf9e24
2024-04-17[BUGFIX] wifi: mac80211: correctly set active links upon TTLMAyala Beker2-2/+10
Fix ieee80211_ttlm_set_links() to not set all active links, but instead let the driver know that valid links status changed and select the active links properly. type=bugfix ticket=none fixes=Ie72e47dc6f8c77d4a2f0947b775ef6367fe0edac Change-Id: Ide858f95248fcb3e483c97fcaa14b0cd4e964b10 Signed-off-by: Ayala Beker <ayala.beker@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/96582 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: Ilan Peer <ilan.peer@intel.com> x-iwlwifi-stack-dev: 16f142482cf38933885746b9c84e38b76ca9d033
2024-04-17[BUGFIX] wifi: mac80211: fix BSS_CHANGED_MLD_TTLM descriptionAyala Beker2-2/+2
BSS_CHANGED_MLD_TTLM purpose is to let the driver know that negotiated TTLM was updated and as a result MLD suspended links status was change. Fix the description to better reflect it. type=bugfix ticket=none fixes=Ie72e47dc6f8c77d4a2f0947b775ef6367fe0edac Change-Id: I2dcb322b389441f33605fb952450cc2724eb9efd Signed-off-by: Ayala Beker <ayala.beker@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/97145 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Ilan Peer <ilan.peer@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: 313680e23ccd423946ccfc4127df2978b84c5342
2024-04-17wifi: iwlwifi: cleanup EMLSR when BT is active handlingMiri Korenblit7-68/+54
BT Coex disables EMLSR only for a 2.4 GHz link, but doesn't block the vif from using EMLSR with a different link pair. In addition, storing it in mvmvif:disable_esr_reason requires extracting the BT Coex bit before checking if EMLSR is blocked or not for a specific vif. Therefore, change the BT Coex bit to be an exit reason and not a blocker. On link selection, EMLSR mode will be re-calculated for the LB link instead of checking that bit. While at it, move the relevant function declarations to the EMLSR functions area in mvm.h type=cleanup ticket=none Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I183a0039ef076613144648cc46fbe9ab3d47c574 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/96106 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> x-iwlwifi-stack-dev: 73edc43f7034edf51f71e6cb2b73503bfae65874
2024-04-17wifi: iwlwifi: mvm: Don't allow EMLSR when the RSSI is lowMiri Korenblit8-31/+254
If the RSSI of a link is low enough, don't use it for EMLSR. If esr is already active and the RSSI of one of the links gets low, exit esr by deactivating that link. type=feature ticket=jira:WIFI-387623 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: Ieb2b18855a2719b5e18ad2fa8a3e855ca4e23938 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/95682 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: 99428e01ccb9ed3aa547aaba26783309cb118a0b
2024-04-17wifi: iwlwifi: Add missing MODULE_FIRMWARE() for *.pnvmTakashi Iwai3-1/+8
A few models require *.pnvm files while we don't declare them via MODULE_FIRMWARE(). This resulted in the breakage of WiFi on the system that relies on the information from modinfo (e.g. openSUSE installer image). This patch adds those missing MODULE_FIRMWARE() entries for *.pnvm files. type=feature ticket=none Link: https://bugzilla.opensuse.org/show_bug.cgi?id=1207553 Signed-off-by: Takashi Iwai <tiwai@suse.de> Link: https://msgid.link/20240228163837.4320-1-tiwai@suse.de Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: If81eaa0bf10174fee4499c2408d1441192292c17 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/97270 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> x-iwlwifi-stack-dev: 9983fa7adfde8026880385d2d505fa482bcdcb7e
2024-04-17[BUGFIX] wifi: mac80211: fix supported rate masking in scanJohannes Berg2-5/+5
We have an nl80211 attribute to mask supported rates from probe responses in scanning, e.g. for use in P2P, but in the refactoring I stopped applying this mask. Restore it. type=bugfix fixes=I9d9920858c30ae5154719783933de0d7bc2a2cb9 ticket=jira:WIFI-388941 Fixes: 07095d167749 ("wifi: mac80211: start building elements in SKBs") Change-Id: I46b49e4fc27fe60b75d4559c01104e55ed381c37 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/97006 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 1a5efba1cafb44bdc27252947f41297eb0749394
2024-04-17[BUGFIX] wifi: mac80211: check link exists before useJohannes Berg2-2/+2
If the assoc link doesn't exist yet at this point, we cannot use it yet. This isn't normally the case, but e.g. in case of FT-DS (or just broken userspace) the link might not be set up yet and will only be created later in this function. Check that the link exists. type=bugfix fixes=I3e61f4cfe9da89008e1854160093c76a1e69dc2a ticket=none Fixes: 310c8387c638 ("wifi: mac80211: clean up connection process") Reported-by: Dan Carpenter <dan.carpenter@linaro.org> Closes: https://lore.kernel.org/r/3151f5d0-c18f-413d-b34b-b94f095b947c@moroto.mountain Change-Id: Ie1d5e23b2a033d934d343c37249f6f4dfddcc5fe Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/96915 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 77cf7d331fb4158de94f46323f5582c9a443340a
2024-04-17[BUGFIX] wifi: mac80211: always initialize match_authJohannes Berg2-5/+5
My previous patch only initialized match_auth when the ifmgd->auth_data exists, but that was wrong, it should always be set. Fix that. type=bugfix fixes=I3e61f4cfe9da89008e1854160093c76a1e69dc2a ticket=none Change-Id: I979dd222b3b5eb5e1437886e5f7c2355eeccb9f7 Fixes: 310c8387c638 ("wifi: mac80211: clean up connection process") Reported-by: Dan Carpenter <dan.carpenter@linaro.org> Closes: https://lore.kernel.org/r/3151f5d0-c18f-413d-b34b-b94f095b947c@moroto.mountain Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/96888 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 70e29adcf389c16e0c84bde09a17cfa6eb6a1366
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: rfi: fix potential response leakAnjaneyulu2-2/+5
If the rx payload length check fails, we still need to free the command response. Fix that. type=bugfix fixes=I26d527bf84ce69dadd9185d324a737f90311173c ticket=none Signed-off-by: Anjaneyulu <pagadala.yesu.anjaneyulu@intel.com> Change-Id: Ib6218afb020fb20ee1694ccb6b0dc2fe658d9131 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/96938 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 7158f8e5f42dd64ccbdf0606dccd580b97d326fd
2024-04-17wifi: iwlwifi: mvm: disable EMLSR when we suspend with wowlanYedidya Benshimol3-13/+6
We can't be an EMLSR while suspended with wowlan. De-activate the secondary link upon wowlan entring. Set the blocking reason upon suspension and clear it upon resume. type=feature ticket=jira:WIFI-387646 ticket=jira:WIFI-387644 Signed-off-by: Yedidya Benshimol <yedidya.ben.shimol@intel.com> Change-Id: I84233cb1c79ba538defafb8ddb983c47f04a400a Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/95644 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: f4ec698fb71a6fcffea3ee7c8e6666ebb8981f2f
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: rfi: fix potential response leakJohannes Berg2-2/+3
If the kmemdup() fails, we still need to free the command response. Fix that. type=bugfix fixes=I26d527bf84ce69dadd9185d324a737f90311173c ticket=none Change-Id: I116293b132502ac68a65527330fa37799694b79c Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/96675 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 99a3e91c2696ef553643a7ff0f65822e935b3434
2024-04-17Merge remote-tracking branch 'auto/master'Miri Korenblit3-6/+22
Merge tag 'v6.8-rc6' Linux 6.8-rc6 Commits in this merge: Dan Carpenter (2): wifi: iwlwifi: Fix some error codes wifi: iwlwifi: uninitialized variable in iwl_acpi_get_ppag_table() Daniel Gabay (1): wifi: iwlwifi: mvm: use correct address 3 in A-MSDU Emmanuel Grumbach (1): wifi: iwlwifi: mvm: fix a crash when we run out of stations Geliang Tang (1): MAINTAINERS: update Geliang's email address Greg Kroah-Hartman (3): Merge tag 'icc-6.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/djakov/icc into char-misc-linus Merge tag 'iio-fixes-for-6.8a' of http://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into char-misc-linus Documentation: Document the Linux Kernel CVE process Guenter Roeck (1): MAINTAINERS: Drop myself as maintainer of TYPEC port controller drivers Jakub Kicinski (1): Merge tag 'wireless-2024-02-14' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless Johannes Berg (1): wifi: mac80211: reload info pointer in ieee80211_tx_dequeue() Jonathan Cameron (1): iio: humidity: hdc3020: Add Makefile, Kconfig and MAINTAINERS entry Linus Torvalds (8): Merge tag 'vfs-6.8-rc5.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs Merge tag 'net-6.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net Merge tag 'pci-v6.8-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci Merge tag 'char-misc-6.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc Merge tag 'driver-core-6.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core Merge tag 'net-6.8.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net Merge tag 'mm-hotfixes-stable-2024-02-22-15-02' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Merge tag 'usb-6.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Miri Korenblit (1): wifi: iwlwifi: clear link_id in time_event Shakeel Butt (1): MAINTAINERS: mailmap: update Shakeel's email address Siddharth Vadapalli (1): MAINTAINERS: Add Siddharth Vadapalli as PCI TI DRA7XX/J721E reviewer Simon Horman (1): MAINTAINERS: Add framer headers to NETWORKING [GENERAL] x-git-tracker-backport: 2d21dea58bded4804313c0b53554673821f574b1 x-git-tracker-iwlwifi: 4522a3223a411bc6078481eb1ecd580e1c582e82 Change-Id: I365285435876070dc36e6e099d88bf059df76596 x-iwlwifi-stack-dev: 71ca810f09f2eeea87cf429a6fe021ed3bb419e9
2024-04-17wifi: iwlwifi: mvm: Add debugfs entry for triggering internal MLO scanIlan Peer2-1/+57
type=feature ticket=none Signed-off-by: Ilan Peer <ilan.peer@intel.com> Change-Id: I9434dc641b837601c72f10684fbfad2c0fb31a99 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/95391 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 7545579653aa960220f34560aba4800b0a4c1628
2024-04-17[BUGFIX] wifi: mac80211: track capability/opmode NSS separatelyJohannes Berg6-30/+32
We're currently tracking rx_nss for each station, and that is meant to be initialized to the capability NSS and later reduced by the operating mode notification NSS. However, we're mixing up capabilities and operating mode NSS in the same variable. This forces us to recalculate the NSS capability on operating mode notification RX, which is a bit strange; due to the previous fix I had to never keep rx_nss as zero, it also means that the capa is never taken into account properly. Fix all this by storing the capability value, that can be recalculated unconditionally whenever needed, and storing the operating mode notification NSS separately, taking it into account when assigning the final rx_nss value. type=bugfix fixes=I193a02155f557ea54dc9d0232da66cf96734119a ticket=jira:WIFI-388049 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Change-Id: I0acaa234e0267227b7e3ef81a59117c8792116bc Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/95823 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 25dd51516036bfc675926b3aa20d8f58a4f08e2c
2024-04-17wifi: iwlwifi: mvm: get periodic statistics in EMLSRMiri Korenblit5-2/+34
In EMLSR we need to track the RSSI of both links, and exit if the RSSI of one of the links got too low. For that request the FW to send statistics every 5 seconds when in EMLSR. type=feature ticket=none Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: Ica2a75a031b1bced0dc2e18c5d365b5eb0d3ec07 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/95910 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: 837199432c7c23eafd317f173da0084353f081c1
2024-04-17wifi: iwlwifi: mvm: save last link selection decisionMiri Korenblit4-1/+8
This will be used in a later patch. type=feature ticket=none Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: Ifbbdcda74a64750eb92817733b118cbfb8b5ca85 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/96323 Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> x-iwlwifi-stack-dev: de55df347d839ab1e2bf227a2ae7db51bc4bf540
2024-04-17wifi: iwlwifi: mvm: don't recompute EMLSR mode in can_activate_linksMiri Korenblit4-35/+8
mac80211 invokes the driver callback drv_can_activate_links() from ieee80211_set_active_links to verify it can activate the desired link combination. However, ieee80211_set_active_links is called with more than one link in 2 cases: - After driver's link selection decided to enter EMLSR - From debugfs, for testing purposes. For both cases there is no need to recompute all the considerations determining whether to activate EMLSR. Instead, only check if the vif is not blocked for EMLSR. type=cleanup ticket=none Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I65e4698b730a8652ad8d1c01420aabb41a1d04fd Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/96322 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> x-iwlwifi-stack-dev: 55e8ad51c34afb67b5df2cc28bfe3b645f00766a
2024-04-17wifi: iwlwifi: mvm: implement EMLSR prevention mechanism.Miri Korenblit4-1/+98
Address scenarios where repeated entry and exit from esr occur, such as encountering missed beacons on a specific link, while still discovering that link during a scan. To mitigate this, introduce the esr prevention mechanism, which operates as follows: - On each exit from esr event, record the timestamp and the exit reason. - If two consecutive exits happen for the same reason within a 400-second window, enforce a 300-second esr prevention. - If a third exit for the same reason occurs within 400 seconds from the second exit, enforce an extended esr prevention of 600 seconds. type=feature ticket=jira:WIFI-387632 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I6406db40cf25eabdba602afd783466473b909216 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/95075 Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> x-iwlwifi-stack-dev: 4c897125aca006e28e9065915b3a2f8fdf8310c1
2024-04-17wifi: iwlwifi: mvm: exit EMLSR upon missed beaconMiri Korenblit7-15/+43
In case of more than 6 missed beacons on one of the links, exit esr by deactivating that link. type=feature ticket=jira:WIFI-388590 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: Ie95ea60149a9bc4367f6b338b37c8635051351ba Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94796 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: df9aeee2312cd3151e96227504cdcb76b6a18d15
2024-04-17wifi: iwlwifi: add a kunit test for PCI table duplicatesJohannes Berg4-3/+30
We shouldn't have entries in the table that match the same device; it's possible to have a specific entry followed by a less specific entry (i.e. NNNN followed by ANY), but not entries that are dead, where an earlier entry matches the same as a later one. Add a test similar to the existing devinfo test to catch this situation. type=feature ticket=none Change-Id: I8140d7e9ae52ac50c6830818f8f95ccd0d94b3d3 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/96396 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 2c9b64ad89d4b6ab751139671a729fb207eaf0f0
2024-04-17wifi: iwlwifi: pcie: remove duplicate PCI IDs entryJohannes Berg2-2/+1
There's a duplicate entry for 0x51f1, which shouldn't be present, though the first entry will correctly be taken. Remove the second one. type=cleanup fixes=Ic06a085832ac3f988c8ef07d856c8e281563295d ticket=none Change-Id: I0d028993e17e26b63c0ee89d7b1714ec88f2a158 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/96395 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com> x-iwlwifi-stack-dev: f2577e3bf8337bee09455ce76f3969bc566b9608
2024-04-17[BUGFIX] wifi: mac80211: obtain AP HT/VHT data for assoc requestJohannes Berg2-1/+74
In the association request, we make some parameters depend on the AP's HT/VHT information. This was broken by my code because it no longer filled that information, making it all zero. For HT that meant we wouldn't reduce our capabilities to 20 MHz if needed, and for VHT we lost beamforming capabilities. Fix this. It seems like it may even have been broken for all but the assoc link before. type=bugfix fixes=I3e61f4cfe9da89008e1854160093c76a1e69dc2a ticket=jira:WIFI-386388 ticket=jira:WIFI-389506 Change-Id: Ibd591f9c214b4e166cf7171db3cf63bda8e3c9fd Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/96337 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: a22357b5e71dff8e70cba6d6a028652b5b72b363
2024-04-17[BUGFIX] wifi: mac80211: don't add VHT capa on links without themJohannes Berg2-2/+3
When a link doesn't have VHT capability, before the rework we'd have set IEEE80211_CONN_DISABLE_VHT, but now with the linear progression of 'mode', we no longer have that. Add an explicit check for VHT being supported, so we don't add a zeroed VHT capabilities element where it shouldn't be. type=bugfix fixes=I3e61f4cfe9da89008e1854160093c76a1e69dc2a ticket=none Change-Id: Ib70a558bc6bdbcec3d9e663079229dfcc2493682 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/96336 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 62d79bfe588497487ef6cecaa452be4a2ea3608b
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: Use the correct value for RSSIMiri Korenblit3-3/+3
The RSSI of the beacons are stored in the bss with a scale factor of 100, so need to divide it by 100 before using it to get the link grade. type=bugfix ticket=none fixes=If137ca6dc443606c7d8c99ec1fc38b325003a7c1 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: If1c57e4cbaa35b714c45d0623d0df3a498a9e632 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/95917 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: be190e1a392de170bb96c05cd07f94cdf9bd10dc
2024-04-17wifi: iwlwifi: mvm: add debugfs for forcing unprotected ranging requestAvraham Stern4-2/+16
Add an option to force sending unprotected ranging request even if the station is associated to the responder or a PASN keys are configured. This is used for testing. type=feature ticket=none Change-Id: I7ab6c547513717e69ec385f72a8f43ea00bd9e0a Signed-off-by: Avraham Stern <avraham.stern@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94883 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: fe55cf5f9bf38534d29bfc1e2c503362fd7cd104
2024-04-17wifi: mac80211: Allow beacons to update BSS table regardless of scanIlan Peer2-8/+16
When a beacon is received use it to update the BSS table regardless of the scanning state. Do so only when there are active non-monitor interfaces. Also, while at it, in any case accept beacons only with broadcast address. type=feature ticket=none Signed-off-by: Ilan Peer <ilan.peer@intel.com> Change-Id: I3ab24ab3543319e31165111b28bcdcc622b5cf02 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/95392 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> x-iwlwifi-stack-dev: d54918c8ebdad5b41906a69dd480757f39a141ec
2024-04-17wifi: iwlwifi: mvm: Introduce internal MLO passive scanIlan Peer3-11/+84
Add a new scan type that can be used for internal MLO purposes, i.e., in case updated BSS information is required. Currently only passive scanning is supported. type=feature ticket=none Signed-off-by: Ilan Peer <ilan.peer@intel.com> Change-Id: I4a41065f6b3a6ec6c6e44e83bc97c277ff7c599e Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/95390 Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: Ayala Beker <ayala.beker@intel.com> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 8c9c2289a13bb68d4aef058e86e1e860625d28e7
2024-04-17wifi: iwlwifi: mvm: Refactor scan startIlan Peer2-8/+17
To support staring internal scan, refactor the scan code such that the body iwl_mvm_reg_scan_start() is now moved to a local function that can be used by other flows as well. type=feature ticket=none Signed-off-by: Ilan Peer <ilan.peer@intel.com> Change-Id: I43c1c533c2a5243229002fde6360d423946c54fa Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/95389 Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Ayala Beker <ayala.beker@intel.com> x-iwlwifi-stack-dev: 476888ca57c879a63ebd4620ee7fa9991818f6f7
2024-04-17wifi: iwlwifi: mvm: print link selection resultMiri Korenblit2-1/+3
Needed for denbugging purposes type=feature ticket=none fixes=I5baf0c293c89a5a28bd1a6386bf9ca6d2bf61ab8 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I887556f056d4a03c2c7b48e9ce945a812f7d11ec Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/95880 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: 9667c935ff4cc2d1cbded17b13a2658b36233be5
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: fix printing formatMiri Korenblit3-5/+5
The current code is printing the esr exit/blocking reasons as a decimal value, instead of the hex value. Fix this. Also change iwl_mvm_esr_state flags to be hex values. type=bugfix ticket=none fixes=I552926065521f5f848c37b0bd845494bd7865fb7 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I67ec6b429471d0cc7de85b9bd326acb9f65a945d Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/95670 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: c9feb99f0341df658003906eddc3f368ecdcdf86
2024-04-17[NOUPSTREAM] wifi: iwlwifi: rename/constify current_dbg_configJohannes Berg4-6/+6
This really just holds the default configuration, and we then load the file contents directly into the transport dbg_cfg, so it's just "default_dbg_config" and can be const. type=cleanup ticket=none Change-Id: Ic54a089638518101c918869b838824379e72bfd8 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/95316 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 21de47157dbdd5de1f83f2e9f2ec31d2b487130d
2024-04-17wifi: mac80211: clarify the dormant/suspended links docsJohannes Berg2-4/+6
Since I keep getting confused about this and asking about it, update the documentation. In the future, especially when we add more reasons for a link to be disabled, we should add a per-link 'disable state' bitmap instead of maintaining all these bitmaps with subset logic, to indicate each of the different states separately. type=cleanup ticket=none Change-Id: I92dd7d177b25df189b842d3bcddb1f2b13b1de13 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94543 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 068b6c6492515c327c280a62953feb482cbc9cb4
2024-04-17wifi: cfg80211: expose cfg80211_iter_rnr() to driversJohannes Berg3-14/+40
In mac80211 we'll need to look at reduced neighbor report entries for channel switch purposes, so export the iteration function to make that simpler. type=feature ticket=none Change-Id: I53e95c017aa71f14e8d1057afbbc75982ddb43df Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94626 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 783829757687de58a82be9abe7d1adc49b1a4f5a
2024-04-17wifi: mac80211: mlme: unify CSA handlingJohannes Berg2-17/+23
Unify all the CSA handling, including handling of a beacon after the CSA, into ieee80211_sta_process_chanswitch(). The CRC of the beacon will change due to changes in the CSA/ECSA elements, so there's really no need to have the 'beacon after CSA' handling before the CRC processing or to change the beacon_crc_valid value here. type=cleanup ticket=none Change-Id: I9dc68ff1e84d51349822bc7d3b33b578fcf8e360 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94566 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: cbd1ef456249be1c2f73ba47e1a99158502b129d
2024-04-17wifi: iwlwifi: mvm: advertise IEEE80211_HW_HANDLES_QUIET_CSAJohannes Berg3-5/+62
The firmware has handled quiet in CSA for a long time now, but it didn't really matter much. However, now with quiet CSA on a perhaps secondary link, we don't want mac80211 to stop queues, we can continue using a link that's not requiring quiet. Set the feature flag for MLO-capable devices indicating that we'll handle the quiet entirely in the driver/device. However, the firmware doesn't handle quiet in AP mode since we don't really expect to really be needing that (without radar detection), but - even for testing - make that work properly by simply not pulling from TXQs in this scenario. type=feature ticket=none Change-Id: Ie3ff02215f810fcfefd6a22c481567f94f61c0c6 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94178 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 6d62da00e3e8185e5c5c0a880b593a9136eb15ff
2024-04-17wifi: iwlwifi: mvm: fix flushing during quiet CSAJohannes Berg3-3/+20
If, for any reason, we're going to attempt to flush the queues while quiet CSA is happening, this cannot succeed. This could be the case if for example mac80211 were to flush after TXing e.g. a deauth frame due to disconnecting during the CSA. In this case, drop the frames instead, the firmware won't let us do any transmissions and may also become unhappy if we're not going to disconnect quickly enough. Currently this doesn't happen as mac80211 stops queues, but we'll want to let mac80211 know not to stop queues for proper multi-link support during CSA, so we need to handle this case. type=feature ticket=none Change-Id: I86d9b849d92273542bfc2d9c671b66179e7ebb72 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94214 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: c6d95e912d33275ae98655a972d635bea29e3c90
2024-04-17wifi: mac80211: introduce a feature flag for quiet in CSAJohannes Berg7-27/+44
When doing CSA in multi-link, there really isn't a need to stop transmissions entirely. Add a feature flag for drivers to indicate they can handle quiet in CSA (be it by parsing themselves, or by implementing drv_pre_channel_switch()), to make that possible. Also clean up the csa_block_tx handling: it clearly cannot handle multi-link due to the way queues are stopped, move it to the sdata. Drivers should be doing it themselves for working properly during CSA in MLO anyway. Also rename it to indicate that it reflects TX was blocked at mac80211. type=feature ticket=none Change-Id: I2469d206e2bf5cb244cfde2b4bbc2ae6d1cd3dd9 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94177 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: b4010350a6c1c5b0264583365d7e87664ff3b809
2024-04-17wifi: mac80211: pass link conf to abort_channel_switchJohannes Berg6-10/+23
Pass the link conf to the abort_channel_switch driver method so the driver can handle things correctly. type=feature ticket=none Change-Id: Iadd3d69b722ffe5934779a32a0e4e596a4e33ed4 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94204 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 1e4cd087ff1f23a6b6560a5e0d21e5a6d06c0645
2024-04-17wifi: mac80211: pass link_id to channel switch opsJohannes Berg5-69/+29
For CSA to work correctly in multi-link scenarios, pass the link_id to the relevant callbacks. While at it, unify/deduplicate the tracing for them. type=feature ticket=none Change-Id: I0be5d00af4acb48cfbd23a9dbf067f9aeb66469d Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94173 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> x-iwlwifi-stack-dev: 4df104e817abd244964f0b6acd127f9406ab8b65
2024-04-17wifi: iwlwifi: mvm: Add helper functions to update ESR statusMiri Korenblit5-56/+99
There are reasons for which we need to exit esr, but not to block it completely, and there are reasons for which we need to block esr. For both reason types we have the enum iwl_mvm_esr_state, when the blocking reasons are stored in the `mvmvif::esr_disable_reason` bitmap. This change introduces the APIs to use in the different cases: - iwl_mvm_exit_esr - will exit from eSR mode. - iwl_mvm_block_esr - will update the bitmap and exit esr, to be used for the blocking reasons only. - iwl_mvm_unblock_esr - will update the bitmap. To be used for the blocking reasons only. type=feature ticket=none Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I552926065521f5f848c37b0bd845494bd7865fb7 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94725 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> x-iwlwifi-stack-dev: b639914bcf5350a04982dc9e53ff7d0f055fa5bc
2024-04-17wifi: iwlwifi: mvm: Implement new link selection algorithmMiri Korenblit10-188/+270
Replaces the current logic with a new algorithm based on the link grading introduced in a previous patch. The new selection algorithm will be invoked upon successful scan to ensure it has the necessary updated data it needs. This update delegates the selection logic as the primary link determiner in eSR mode, storing it in mvmvif to avoid repeated calculations, as the result may vary. Additionally, includes tests for iwl_mvm_valid_link_pair to validate link pairs for eSR. type=feature ticket=jira:WIFI-381263 ticket=jira:WIFI-266110 ticket=jira:WIFI-381270 ticket=jira:WIFI-381269 ticket=jira:WIFI-266110 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I5baf0c293c89a5a28bd1a6386bf9ca6d2bf61ab8 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/93364 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> x-iwlwifi-stack-dev: 4d8655333a66f3c710caf0a49d15b25b68e88dd2
2024-04-17wifi: iwlwifi: mvm: move emlsr/links codeMiri Korenblit4-223/+229
The functions that are link related, so they should be in link.c and not in mld-mac80211.c. Move them. Also move the different prototypes to the right place in mvm.h type=cleanup ticket=none Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I6b15805a7c8a75d1814f1a829601daf4d3788731 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/93010 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: d5d697c64998bb0de561765023e566ef5772e5a3
2024-04-17wifi: iwlwifi: mvm: support wowlan notif version 4Shaul Triebitz3-7/+244
In version 4, in case of MLO GTK rekey during D3, the firmware sends all the new keys, including the keys on the non-active links. Update also the non active link keys. type=feature ticket=jira:WIFI-264809 Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com> Change-Id: Id065ddd2f4a71b0243c33ae0c5476ac41bfe2dc2 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/93905 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> x-iwlwifi-stack-dev: f71ecf8486dfe5fa232d2803909066a4d2fd16d9
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: skip keys of other linksShaul Triebitz2-1/+9
When waking up from wowlan, we iterate over the current keys and remove those that were rekeyed. With MLO, there might be keys of other links which should not be removed. Skip MLO keys on other links (other than the wowlan active link). type=bugfix fixes=unknown ticket=none Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com> Change-Id: I605a971d2d68107769dd363b896b471998259e64 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94777 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 74417e694edb7dc26f0139ff99cdbb849d5d76b3
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: stop assuming sta id 0 in d3Shaul Triebitz2-3/+8
In MLO, the station id in d3 can be other than 0. Do not assume the station id is 0 when waking up from d3. type=bugfix fixes=unknown ticket=none Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com> Change-Id: I83de9d868224df76eee8df8dbcf352636535821a Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94642 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 01363c82dc8a207eadaff4f156a70c7857706aa1
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: fix the sta id in offloadShaul Triebitz4-5/+11
With MLO, the station id in wowlan can be other than 0. Set the correct station in the protocol offload command. type=bugfix fixes=unknown ticket=none Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com> Change-Id: Id984110576a72acc84493217ca95564c3cd362bd Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94641 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: cf6efd843a4abc0d03e2fc1838998e59f54e8ecb
2024-04-17wifi: iwlwifi: mvm: check if esr is allowed before selecting linksMiri Korenblit3-20/+30
Currenty iwl_mvm_mld_select_links() doesn't fully check that esr is allowed before selecting the 2 best links. Although it will fail in ieee80211_set_active_links(), it is preferred to avoid the redundent calculations. type=cleanup ticket=none Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I1cd91608bb73fbe19b8dfdf90e14ce40b98c3430 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/92749 Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> x-iwlwifi-stack-dev: e4b684ed278600805b794f33e9153952b0bfaed9
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: don't always disable eSR due to BT coexMiri Korenblit3-43/+57
2.4 GHz/LB (low band) link can't be used in an eSR links pair when BT is on. But eSR is still allowed for a pair of links which none of them operates in LB. In the existing code, eSR will always be disabled if one of the usable links is in LB (and BT is on). Move this check to the code that verifies a specific pair of links, and only if one of these links operates on LB - disable eSR. type=bugfix ticket=none fixes=I7d808ce535a7372aca9cb85c045755e6788a4904 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: Ib1ba1cd1fa1f026fceec12f89a172fdebe732b96 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/92745 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: f2ec1c40df010082138537e1a24e4e1b684fcb36
2024-04-17wifi: iwlwifi: mvm: calculate esr mode after connectionMiri Korenblit6-23/+36
The function iwl_mvm_can_enter_esr() is (among others) calculating if eSR mode is disabled due to BT coex by calling iwl_mvm_bt_coex_calculate_esr_mode(), then stores the decision in mvmvif::esr_disable_reason. But there is no need to calculate this every time iwl_mvm_can_enter_esr is called. Fix this by calculating it once after authorization, and in iwl_mvm_can_enter_esr only check mvmvif::esr_disable_reason. type=cleanup ticket=none Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I3b32d36cda23f67dc103a28a9bdccb0039d22574 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/92744 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: be45b793fc8b53259e9fd16c75aaeea7c30ec847
2024-04-17wifi: cfg80211: print flags in tracing in hexJohannes Berg2-6/+6
It's confusing to see decimal, e.g. 20, here. Printing the flags in hex (0x14 == 20) is much clearer. type=cleanup ticket=none Change-Id: Id5e665104bbc51377b4591289e32f8c1d4711dce Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94524 Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: fff0bd5179b59431fd3e1e389917e957b9b89e3e
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: Configure the link mapping for completenessIlan Peer4-15/+57
In the non MLD firmware flows, although the deflink is used, the mapping of link ID to BSS configuration was missing, which causes flows that need this mapping to crash. Fix this by adding the link ID to BSS configuration mapping to non MLD flows as well for completeness. type=bugfix ticket=none fixes=unknown Signed-off-by: Ilan Peer <ilan.peer@intel.com> Change-Id: Ib11f41815d2efa5d1ec57f855de4c8563142987b Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/95024 Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 59b79604fae9616d876388d3a3f0b88b63bb055d
2024-04-17wifi: iwlwifi: mvm: implement link gradingMiri Korenblit8-2/+417
For selecting what link(s) out of the usable ones to activate, calculate a grade for a given link. Calculation of a link grade is done as follows: 1. get the estimated throughput according to the RSSI of the link, this will be the base grade 2. get the channel load from the BSS Load Element, subtracting the load caused by us. Apply the factor on the grade. 3. puncturing factor: calculate the percentage of the punctured subchannels (out of the total subchannels). Apply this on the grade. The link grading will be used by the link selection mechanism in a later patch. Also add KUnit tests for it. type=feature ticket=jira:WIFI-371607 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: If137ca6dc443606c7d8c99ec1fc38b325003a7c1 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/91741 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: 8049642afecce0eb45b4bd2337c5d012fff1fd05
2024-04-17Revert "wifi: mac80211: parse the BSS Load element"Miri Korenblit6-40/+1
This reverts commit 395d18018c07f43a059d63ba5bf4413b0a179496. We will eventually use that element from the BSS, so no need to parse/store it in bss_conf. type=cleanup ticket=none Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: Ie9eca36af19498c6dfe88012959c3d91ac0eecbb Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/95150 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: e9b0b45cd4828b8b9766e883141db7fab4df594d
2024-04-17[BUGFIX] wifi: mac80211: remove bss from ieee80211_link_data_managedMiri Korenblit3-4/+4
ieee80211_link_data_managed::bss moved to iee80211_bss_conf, but wasn't removed from ieee80211_link_data_managed. Remove it. In addition, document that bss contains data which is not necessarily authenticated, so drivers will know to be carefull using it. type=bugfix ticket=none fixes=I285153f48303ef320132e350d8c9452900df7fd7 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: Iccdc79606ad21e5ccd4eaa639ffb874f8b31d738 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/95149 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: 910af122226055a3bce356661be5daeedc73e255
2024-04-17wifi: iwlwifi: mvm: rfi: Add support for rfi config cmd resp notification v2Anjaneyulu6-52/+133
Version 2 notification will add ability to get DLVR table from firmware. While on it rename iwl_rfi_lut_entry to iwl_rfi_ddr_lut_entry. type=feature ticket=jira:WIFI-341600 Signed-off-by: Anjaneyulu <pagadala.yesu.anjaneyulu@intel.com> Change-Id: Ife09acc4f745e934c9bdda7b1869b9fe5d72613e Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/92981 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 53524793fa441ae6692719380b8abf05ce162e1c
2024-04-17wifi: mac80211: add support to call csa_finish on a linkAditya Kumar Singh6-8/+20
Currently ieee80211_csa_finish() function finalizes CSA by scheduling a finalizing worker using the deflink. With MLO, there is a need to do it on a given link basis. Pass link ID of the link on which CSA needs to be finalized. type=feature ticket=none Change-Id: I04ada8599c35ecb2cf16c94eb118d227630d06ee Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com> Link: https://msgid.link/20240130140918.1172387-6-quic_adisi@quicinc.com Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94170 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: 05bb62445227880acb6630d28b132ad40a0ce97a
2024-04-17wifi: mac80211: start and finalize channel switch on link basisAditya Kumar Singh3-25/+38
Add changes to start a channel switch as well as finalize it on link basis in order to support CSA with MLO as well. type=feature ticket=none Change-Id: I1a96bb4e8a7953a7cf8e277c4eea29907bb5a140 Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com> Link: https://msgid.link/20240130140918.1172387-5-quic_adisi@quicinc.com Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94169 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> x-iwlwifi-stack-dev: e0ad05fa72d758f28278c2b320b5039d0f2d820f
2024-04-17wifi: mac80211: handle set csa/after_csa beacon on per link basisAditya Kumar Singh2-14/+16
In order to support CSA with MLO, there is a need to handle the functions ieee80211_set_csa_beacon() and ieee80211_set_after_csa_beacon() on a per link basis. Implement this by making the function argument accept the the link data instead of the sdata. Currently, deflink would only be passed. Proper link data will be passed in a subsequent patch. type=feature ticket=none Change-Id: Ia3a637a6c07189fab06a06c1f435331da652383b Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com> Link: https://msgid.link/20240130140918.1172387-4-quic_adisi@quicinc.com Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94168 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> x-iwlwifi-stack-dev: 874e9f873036a94ea8d6ef5e3a14aac3bdf00361
2024-04-17wifi: mac80211: update beacon counters per link basisAditya Kumar Singh4-6/+16
Currently, function to update beacon counter uses deflink to fetch the beacon and then update the counter. However, with MLO, there is a need to update the counter for the beacon in a particular link. Add support to use link_id in order to fetch the beacon from a particular link data during beacon update counter. type=feature ticket=none Change-Id: I480e7048aa0bbf0a79a976cdfa0195fd157da902 Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com> Link: https://msgid.link/20240130140918.1172387-3-quic_adisi@quicinc.com Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94167 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> x-iwlwifi-stack-dev: ac3cb54437072c335369994719cc57a7b7a4a268
2024-04-17wifi: cfg80211: send link id in channel_switch opsAditya Kumar Singh4-3/+10
Currently, during channel switch, no link id information is passed down. In order to support channel switch during Multi Link Operation, it is required to pass link id as well. Add changes to pass link id in the channel_switch cfg80211_ops. type=feature ticket=none Change-Id: I4ace04c0bdbde3b028ec0a5a3be2471cdb1efb67 Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com> Link: https://msgid.link/20240130140918.1172387-2-quic_adisi@quicinc.com Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94166 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> x-iwlwifi-stack-dev: a71ab6cb3ba2b45f11000ca6057d0f473acf2017
2024-04-17wifi: mac80211: refactor STA CSA parsing flowsMichael-CY Lee2-53/+251
The new Wi-Fi Standard (IEEE Std 802.11-2020 9.4.2.160) specifies that the Wide Bandwidth Channel Switch (WBCS) Element subfields have the same definitions as VHT operation information if the operating band is not S1G. The problem comes when the BSS is in 6 GHz band, the STA parses the WBCS Element by ieee80211_chandef_vht_oper(), which checks the capabilities for HT/VHT mode, not HE/EHT mode. This patch refactors STA CSA parsing flow so that the corresponding capabilities can be checked. Also, it adds the way to use op_class in ECSA Element to build a new chandef. In summary, the new steps for STA to handle CSA event are: 1. build the new chandef from one of the CSA-related (Sub)Elements in following order, - Bandwidth Indication (Sub)Element - Wide Bandwidth Channel Switch (Sub)Element - Operating class in Extended Channel Switch Announcement Element - Channel Switch Announcement Element 2. convert the new chandef into operation information according to the operating band in order to check if the new chandef fits STA's capabilities. 3. downgrade the bandwidth until current bandwidth is not disabled. type=feature ticket=none Change-Id: I21c3f8f95554feff9bed15703e89adbe582e0383 Co-developed-by: Money Wang <money.wang@mediatek.com> Signed-off-by: Michael-CY Lee <michael-cy.lee@mediatek.com> Link: https://msgid.link/20231222010914.6521-3-michael-cy.lee@mediatek.com [rebase on top of the changes with struct ieee80211_conn_settings, prefer leXY_encode_bits()] Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94165 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: b924ea7ace4485690d3e5c368f9de07681b71b50
2024-04-17wifi: cfg80211: Add utility for converting op_class into chandefMichael-CY Lee3-1/+90
This utility is used in STA CSA handling. The op_class in the ECSA Element can be converted into chandef. type=feature ticket=none Change-Id: I68de13028b94572fc570b7eb1e0e2de1d751fe7e Co-developed-by: Money Wang <money.wang@mediatek.com> Signed-off-by: Michael-CY Lee <michael-cy.lee@mediatek.com> Link: https://msgid.link/20231222010914.6521-2-michael-cy.lee@mediatek.com Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94164 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> x-iwlwifi-stack-dev: 5b1d34e9dba0904b99edd626d4b098465bf8bbb2
2024-04-17wifi: mac80211_hwsim: move skip_beacons to be per linkJohannes Berg2-9/+12
Initially, we were only using this for non-MLO, but it could also be useful for MLO, and if we move it to per-link and the vif isn't an MLD, it'll be put in the same place (by mac80211) anyway. Move it to be per link. type=feature ticket=none Change-Id: If8a28b893d277254906601065e4aaefa704b6fcb Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94813 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 8a94c5989ac691aa4bfc772699a6dfccbc6ba3d5
2024-04-17[BUGFIX] wifi: mac80211: remove TDLS peers on link deactivationJohannes Berg2-2/+2
If a link is deactivated, we really cannot sustain any TDLS connections on that link any more. With the API now changed, fix this issue and remove TDLS connections. type=bugfix fixes=I92385ba882ec984a9a2ad18293173436657e82aa ticket=none Change-Id: I3474dbde79e9e7a539d47f6f81f32e6c3e459080 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94199 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> x-iwlwifi-stack-dev: c53428e6a9dae59add068e7da183cb3a76dde10a
2024-04-17wifi: mac80211: remove TDLS peers only on affected linkJohannes Berg5-7/+12
If a link does CSA, or if it changes SMPS mode, we need to drop the TDLS peers, but we really should drop them only on the affected link. Fix that. type=cleanup ticket=none Change-Id: Ia9971316c6b3922dd371d64ac2198f91ed5ad9d2 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94161 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> x-iwlwifi-stack-dev: c0881fcb5e0ebe7d4ac55733dd4d486981208ddd
2024-04-17wifi: ieee80211: fix ieee80211_mle_basic_sta_prof_size_ok()Johannes Berg2-2/+2
If there was a possibility of an MLE basic STA profile without subelements, we might reject it because we account for the one octet for sta_info_len twice (it's part of itself, and in the fixed portion). Like in ieee80211_mle_reconf_sta_prof_size_ok, subtract 1 to adjust that. When reading the elements we did take this into account, and since there are always elements, this never really mattered. type=cleanup fixes=Id5f39b418dc91617378ae448a75e573f3146ec80 ticket=none Change-Id: I8c41dd6fc14c4b187ab901dea15ade73c79fb98c Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94112 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Ilan Peer <ilan.peer@intel.com> x-iwlwifi-stack-dev: 87c7f032081c2b97a966cd610aabee1543d31772
2024-04-17wifi: cfg80211: allow cfg80211_defragment_element() without outputJohannes Berg4-17/+46
If we just want to determine the length of the fragmented data, we basically need the same logic, and really we want it to be _literally_ the same logic, so it cannot be out of sync in any way. Allow calling cfg80211_defragment_element() without an output buffer, where it then just returns the required output size. Also add this to the tests, just to exercise it, using the pre-calculated length to really do the defragmentation, which checks that this is sufficient. type=feature ticket=none Change-Id: Ib441903f4b8644ba04b1c766f90580ee6f54fc66 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94095 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Benjamin Berg <benjamin.berg@intel.com> x-iwlwifi-stack-dev: eded020a46ffcfc296168a6bcc5d40b41f0d9029
2024-04-17wifi: mac80211: hide element parsing internalsJohannes Berg4-59/+79
Rework the data structures to hide element parsing internals from the users. type=cleanup ticket=none Change-Id: Ie7ea2dcb6713911590ace6583a4748f32dc37df2 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/93721 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 92f20bb966ca5b81bd03f7ecbc668d69ac1b4187
2024-04-17wifi: mac80211: remove unneeded scratch_len subtractionJohannes Berg2-2/+1
We're always using "scratch + len - pos", so we don't need to subtract here to calculate the remaining length. Remove the unnecessary subtraction. type=cleanup ticket=none fixes=I6fa45d7ceddd790b90e83ecbf1e14e955a52a5f6 Change-Id: I7a9758fb9bc6b726aac49804f2f05cd521bc4128 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/93720 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Ilan Peer <ilan.peer@intel.com> x-iwlwifi-stack-dev: ea34ec3c2a8cf1942c7ad3331117c030b5de12d2
2024-04-17wifi: mac80211: defragment reconfiguration MLE when parsingJohannes Berg4-17/+28
Using the scratch buffer (without advancing it) here in the mlme.c code seems somewhat wrong, defragment the reconfig multi-link element already when parsing. This might be a bit more work in certain cases, but makes the whole thing more regular. type=cleanup ticket=none Change-Id: I4b736ce4fdc199fa1d6b00d00032f448c873a8b4 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/93719 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: b2b1b2120a4f20cd36d0c89c496cb03df330e297
2024-04-17wifi: mac80211: simplify multi-link element parsingJohannes Berg4-17/+9
We shouldn't assign elems->ml_basic{,len} before defragmentation, and we don't need elems->ml_reconf{,len} at all since we don't do defragmentation. Clean that up a bit. This does require always defragmention even when it may not be needed, but that's easier to reason about. type=cleanup ticket=none Change-Id: I89a80f7387eabef8df3955485d4a583ed024c5b1 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/93718 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Ilan Peer <ilan.peer@intel.com> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: e5632b48eed40661939965bee033c13960d305d2
2024-04-17wifi: mac80211: remove unnecessary ML element checksJohannes Berg2-4/+1
Given the prior changes to ieee80211_mle_size_ok(), we can now pass NULL to for_each_mle_subelement(), so no longer need to check for that here explicitly. type=cleanup ticket=none Change-Id: Ia2ee0aafdc8a48bd21b485cc36a9866f950d781b Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/93700 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: e85e5c6d89e592a90bcdf7e562819af1c72796ad
2024-04-17wifi: ieee80211: check for NULL in ieee80211_mle_size_ok()Johannes Berg2-2/+2
For simplicity, we may want to pass a NULL element, and while we should then pass also a zero length, just be a bit more careful here. type=feature ticket=none Change-Id: Ic3ea99b60c61ac2f7d38cb9fd202a03c97a05601 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/93699 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: c18739fe3fd900d6cda20fbffc663461b0893894
2024-04-17Merge remote-tracking branch 'auto/master'Miri Korenblit3-12/+9
Merge tag 'v6.8-rc4' Linux 6.8-rc4 Commits in this merge: Allison Henderson (1): MAINTAINERS: Maintainer change for rds Andrew Morton (2): Merge branch 'master' into mm-hotfixes-stable Merge branch 'master' into mm-hotfixes-stable Arend van Spriel (1): MAINTAINERS: wifi: brcm80211: cleanup entry Benjamin Berg (2): wifi: iwlwifi: mvm: skip adding debugfs symlink for reconfig wifi: iwlwifi: do not announce EPCS support Emmanuel Grumbach (1): wifi: iwlwifi: mvm: fix a battery life regression Gregory Greenman (1): MAINTAINERS: remove myself as iwlwifi driver maintainer Jakub Kicinski (1): Merge tag 'wireless-2024-02-06' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless Johannes Berg (13): wifi: iwlwifi: fix double-free bug wifi: cfg80211: fix wiphy delayed work queueing wifi: iwlwifi: remove extra kernel-doc wifi: cfg80211: detect stuck ECSA element in probe resp wifi: mac80211: improve CSA/ECSA connection refusal wifi: mac80211: fix RCU use in TDLS fast-xmit wifi: mac80211: set station RX-NSS on reconfig wifi: mac80211: fix driver debugfs for vif type change wifi: mac80211: initialize SMPS mode correctly wifi: mac80211: fix unsolicited broadcast probe config wifi: mac80211: fix waiting for beacons logic wifi: mac80211: adding missing drv_mgd_complete_tx() call wifi: mac80211: accept broadcast probe responses on 6 GHz Joonas Lahtinen (1): Merge tag 'gvt-fixes-2024-02-05' of https://github.com/intel/gvt-linux into drm-intel-fixes Leo Yan (1): MAINTAINERS: Leo Yan has moved Linus Torvalds (4): Merge tag 'bcachefs-2024-02-05' of https://evilpiepirate.org/git/bcachefs Merge tag 'net-6.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net Merge tag 'drm-fixes-2024-02-09' of git://anongit.freedesktop.org/drm/drm Merge tag 'mm-hotfixes-stable-2024-02-10-11-16' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Mario Limonciello (1): wifi: mac80211: Drop WBRF debugging statements Miri Korenblit (1): wifi: iwlwifi: exit eSR only after the FW does Zhenyu Wang (1): drm/i915: Replace dead 01.org link Zhi Wang (1): MAINTAINERS: Update Zhi Wang's email address x-git-tracker-backport: 2d21dea58bded4804313c0b53554673821f574b1 x-git-tracker-iwlwifi: b9b7f42fe27d036ae96f793366a6187f67cdbd26 Change-Id: Idc3dd3c58841c7c266b0c249c8b3ea1db710f22f x-iwlwifi-stack-dev: 8d7b5faea00d9f19e3bbeb400c442e74033f1ef8
2024-04-17wifi: iwlwifi: mvm: Move beacon filtering to be per linkIlan Peer7-58/+71
As the FW statistics are per link context and not per MAC context. type=feature ticket=none Signed-off-by: Ilan Peer <ilan.peer@intel.com> Change-Id: Icc0eaebb35d119f8c538c068fbc8f874aac194c3 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94353 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: c0a9af410dc2a2a6681db98b4631108d702892b8
2024-04-17wifi: mac80211: Adjust CQM handling for MLOIlan Peer2-30/+51
The CQM handling did not consider the MLO case and thus notified a not-existing link with the CQM change. To fix this, propagate the CQM notification to all the active links (handling both the non-MLO and MLO cases). TODO: this currently propagates the same configuration to all links regardless of the band. This might not be the correct approach as different links might need to be configured with different values. type=bugfix ticket=none fixes=unknown Signed-off-by: Ilan Peer <ilan.peer@intel.com> Change-Id: Id738810b73e1087e01d5885508b70a3631707627 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94162 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: f81827bca9d80b6f795c9823d4c81058858548f7
2024-04-17Revert "wifi: iwlwifi: mvm: add debugfs for forcing unprotected ranging request"Miriam Rachel Korenblit4-19/+2
This reverts commit b9eab2608dcee478edc393c2304b5f967b01c2f0. Reason for revert: doesn't compile Change-Id: If8ca194e38d420c85b9b4fc76fab391b3c4104d9 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94460 Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: 221df2b263006520935ff61ef86f19af9aac715d
2024-04-17wifi: iwlwifi: return negative -EINVAL instead of positive EINVALDan Carpenter2-2/+2
The '-' character is missing in -EINVAL. type=bugfix ticket=none fixes=Ib90bab74a9d56deb2362edb712294360e4ddae5b Fixes: fc7214c3c986 ("wifi: iwlwifi: read DSM functions from UEFI") Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> Link: https://msgid.link/f0391316-ab30-4664-96ac-03445ab2aeba@moroto.mountain Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I8be7b34c178ccfb04a9d4205a3828f953a15f265 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94334 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: 26955ca27344fa0fbd50ca223bd8a6251541cefb
2024-04-17wifi: iwlwifi/mac80211: send link id to gtk_rekey_addShaul Triebitz4-11/+23
In MLO, set the link id in the GTK key. type=feature ticket=jira:WIFI-264809 Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com> Change-Id: I43a6f8ab2804ee07116a37d5b9ec601b843464b1 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/93487 Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> x-iwlwifi-stack-dev: a225ede64c5585a73dad3f974076648e4badc427
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: consider having one active linkShaul Triebitz2-8/+10
Do not call iwl_mvm_mld_get_primary_link if only one link is active. In that case, the sole active link should be used. iwl_mvm_mld_get_primary_link returns -1 if only one link is active causing a warnning. type=bugfix fixes=I27c7a1d08aecc5da0af2c351212f22e92ed70219 ticket=none Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com> Change-Id: I05b0ac7fa7149eabaa5570a6f65b0d9bfb09a6f1 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/93256 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: 99645ddb4127940cd413fffbb9c9add469620706
2024-04-17[BUGFIX] wifi: iwlwifi: fix firmware API kernel docShaul Triebitz2-3/+3
Fix the comment of the associated struct of the wowlan info notification. type=bugfix fixes=unknown ticket=none Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com> Change-Id: I83fa1cdc39f74ad2aacf75c2c14412eeaf93e787 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/93432 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: c2d2f10a367ee2ff51469304f5acc64868512524
2024-04-17wifi: mac80211: add ieee80211_vif_link_active() helperJohannes Berg6-16/+24
We sometimes need to check if a link is active, and this is complicated by the fact that active_links has no bits set when the vif isn't (acting as) an MLD. Add a small new helper ieee80211_vif_link_active() to make that a bit easier, and use it in a few places. type=cleanup ticket=none Change-Id: I06892a503f5ecb9563fbd678d35d08daf7a044b0 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94203 Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Ilan Peer <ilan.peer@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 3d68a17c2997374ddda778245f53e6fac4bf43b2
2024-04-17wifi: iwlwifi: mvm: add debugfs for forcing unprotected ranging requestAvraham Stern4-2/+19
Add an option to force sending unprotected ranging request even if the station is associated to the responder or a PASN keys are configured. This is used for testing. type=feature ticket=none Change-Id: Ia013e482d8695da22f0d362eecd65018d9906fd2 Signed-off-by: Avraham Stern <avraham.stern@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/93397 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: b9eab2608dcee478edc393c2304b5f967b01c2f0
2024-04-17wifi: iwlwifi: Print a specific device name.Daniel Amosi4-3/+8
For FM and GL, the name printed on the logs was "TBD". Change that to print the accurate name. type=feature ticket=none Signed-off-by: Daniel Amosi <amosi.daniel@intel.com> Change-Id: I207626ce5e2ada170a7c01dccf5226110d09f135 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/92707 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 62810a9fd8986931e4628891b06134779b394501
2024-04-17wifi: mac80211: Refactor TPE element parsing and handlingMukesh Sisodiya6-27/+101
TPE element is stored in one dimensional array and overwrite once more then eight elements are received. Refactor the TPE parsing and handling code based on the interpretation and category to modify the correct index once received Add the TPE elements validity check before parsing the data sent from AP type=feature ticket=jira:WIFI-309924 Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com> Change-Id: I5361ed88160f02e453829695caf20da63b96d037 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/91140 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 359018c1e16b1f71890d112924e4f8e688eeff8c
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: pick the version of SESSION_PROTECTION_NOTIFEmmanuel Grumbach2-4/+3
When we want to know whether we should look for the mac_id or the link_id in struct iwl_mvm_session_prot_notif, we should look at the version of SESSION_PROTECTION_NOTIF. This causes WARNINGs: WARNING: CPU: 0 PID: 11403 at /tmp/wifi-core-20240202080426/src/iwlwifi-stack-dev/drivers/net/wireless/intel/iwlwifi/mvm/time-event.c:959 iwl_mvm_rx_session_protect_notif+0x333/0x340 [iwlmvm] RIP: 0010:iwl_mvm_rx_session_protect_notif+0x333/0x340 [iwlmvm] Code: 00 49 c7 84 24 48 07 00 00 00 00 00 00 41 c6 84 24 78 07 00 00 ff 4c 89 f7 e8 e9 71 54 d9 e9 7d fd ff ff 0f 0b e9 23 fe ff ff <0f> 0b e9 1c fe ff ff 66 0f 1f 44 00 00 90 90 90 90 90 90 90 90 90 RSP: 0018:ffffb4bb00003d40 EFLAGS: 00010202 RAX: 0000000000000000 RBX: ffff9ae63a361000 RCX: ffff9ae4a98b60d4 RDX: ffff9ae4588499c0 RSI: 0000000000000305 RDI: ffff9ae4a98b6358 RBP: ffffb4bb00003d68 R08: 0000000000000003 R09: 0000000000000010 R10: ffffb4bb00003d00 R11: 000000000000000f R12: ffff9ae441399050 R13: ffff9ae4761329e8 R14: 0000000000000001 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff9ae7af400000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000055fb75680018 CR3: 00000003dae32006 CR4: 0000000000f70ef0 PKRU: 55555554 Call Trace: <IRQ> ? show_regs+0x69/0x80 ? __warn+0x8d/0x150 ? iwl_mvm_rx_session_protect_notif+0x333/0x340 [iwlmvm] ? report_bug+0x196/0x1c0 ? handle_bug+0x45/0x80 ? exc_invalid_op+0x1c/0xb0 ? asm_exc_invalid_op+0x1f/0x30 ? iwl_mvm_rx_session_protect_notif+0x333/0x340 [iwlmvm] iwl_mvm_rx_common+0x115/0x340 [iwlmvm] iwl_mvm_rx_mq+0xa6/0x100 [iwlmvm] iwl_pcie_rx_handle+0x263/0xa10 [iwlwifi] iwl_pcie_napi_poll_msix+0x32/0xd0 [iwlwifi] type=bugfix ticket=jira:WIFI-385853 fixes=I74fe93a6337f4ec9d1bd6f791d315411ac5b40da Change-Id: I564d863e53c6cbcb49141467932ecb6a9840b320 Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94235 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 30a8461eaa1d7e60574a0a28d2a26cfcc9d63203
2024-04-17wifi: mac80211: remove unnecessary ML element type checkJohannes Berg2-5/+1
At this point, since it's taken from elems->ml_basic which is stored only if it's of type basic, we don't really need to check again if it's basic. type=cleanup ticket=none Change-Id: Ib96fa75b1a6db21dd4182dcfa11fe9aff78fa3ed Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/93696 Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Ilan Peer <ilan.peer@intel.com> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 07fcfc89f89a01074bdea00f394d5ec65e2fbd63
2024-04-17[BUGFIX] wifi: mac80211: update scratch_pos after defragJohannes Berg2-1/+2
The scratch_pos update here was lost after defrag, so any other uses of the scratch buffer might overwrite it. type=bugfix fixes=I34280ae3728597056a6a2f313063962206c0d581 ticket=none Change-Id: I7127f2918ec4cba416fcbc35eacaea10262c1268 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/93717 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Benjamin Berg <benjamin.berg@intel.com> Reviewed-by: Ilan Peer <ilan.peer@intel.com> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: c0dc3d83f61e2b9ba41a9e3aef3a78d9cad219b2
2024-04-17wifi: iwlwifi: fix #ifdef CONFIG_ACPI checkArnd Bergmann2-8/+5
The #ifdef check around the function definition for two functions was changed without also changing the one on the declaration: drivers/net/wireless/intel/iwlwifi/fw/uefi.c:359:6: error: redefinition of 'iwl_uefi_get_sgom_table' 359 | void iwl_uefi_get_sgom_table(struct iwl_trans *trans, | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from drivers/net/wireless/intel/iwlwifi/fw/uefi.c:11: drivers/net/wireless/intel/iwlwifi/fw/uefi.h:294:6: note: previous definition of 'iwl_uefi_get_sgom_table' with type 'void(struct iwl_trans *, struct iwl_fw_runtime *)' 294 | void iwl_uefi_get_sgom_table(struct iwl_trans *trans, struct iwl_fw_runtime *fwrt) | ^~~~~~~~~~~~~~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/fw/uefi.c:392:5: error: redefinition of 'iwl_uefi_get_uats_table' 392 | int iwl_uefi_get_uats_table(struct iwl_trans *trans, | ^~~~~~~~~~~~~~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/fw/uefi.h:299:5: note: previous definition of 'iwl_uefi_get_uats_table' with type 'int(struct iwl_trans *, struct iwl_fw_runtime *)' 299 | int iwl_uefi_get_uats_table(struct iwl_trans *trans, | ^~~~~~~~~~~~~~~~~~~~~~~ Adapt it by merging the declarations into the existing #ifdef block. type=bugifx ticket=none fixes=I649079c842369dcae3a362842322deca422a61d5 Fixes: 74f4cd710705 ("wifi: iwlwifi: take SGOM and UATS code out of ACPI ifdef") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://msgid.link/20240212112343.1148931-1-arnd@kernel.org Signed-off-by: Johannes Berg <johannes.berg@intel.com> Change-Id: I4f80abd44e441a8467853aec95d52faafa073f52 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94068 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: 9c8adcfb5c3fbf19eb7e850155b1a9b6558ef12b
2024-04-17wifi: iwlwifi: load b0 version of ucode for HR1/HR2Mukesh Sisodiya2-2/+3
load b0 version of ucode for both a0 and b0 step of HR RF. type=feature ticket=none Change-Id: I34c1d46aefd70b34c1c75cea67792bc5ec8bc285 Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/92987 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 6971e7414533d9eb67b0b3c6cbbd1b898cde6d20
2024-04-17wifi: iwlwifi: handle per-phy statistics from fwMiri Korenblit3-2/+18
In the operational statistics notifications (both old and new API) the driver receives the statistics per phy. currently this statistics wasn't handled because they wasn't needed. Now the channel_load_by_us parameter in these statistics will be used for the link grading calculation (implemented in another patch), so store its value in phy_ctxt. type=feature ticket=none Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: Ibbc7817135827e45adaaa47b796be165f9f1ca48 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/91517 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> x-iwlwifi-stack-dev: 7f6fa68f46cc0e5ea5ed79aabbaf9cc5455ad852
2024-04-17wifi: mac80211: parse the BSS Load elementMiri Korenblit6-1/+40
Some drivers need this. Parse the element and save the channel utilization field in the link conf. type=feature ticket=jira:WIFI-371607 Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: If5885d651cb0114711ee1f6c1cb8fe31a69bf0a7 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/90137 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: 395d18018c07f43a059d63ba5bf4413b0a179496
2024-04-17wifi: cfg80211: use ML element parsing helpersJohannes Berg3-34/+47
Use the existing ML element parsing helpers and add a new one for this (ieee80211_mle_get_mld_id). type=cleanup ticket=none Change-Id: I437a5570ac456449facb0b147851ef24a1e473c2 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/92494 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: c6fdac8e2a04ff1fe79afc833a725e2c8b060616
2024-04-17wifi: mac80211: align ieee80211_mle_get_bss_param_ch_cnt()Johannes Berg3-10/+12
Align the prototype of ieee80211_mle_get_bss_param_ch_cnt() to also take a u8 * like the other functions, and make it return -1 when the field isn't found, so that mac80211 can check that instead of explicitly open-coding the check. type=cleanup ticket=none Change-Id: Ia61cb0b4fc034d5ac8fcfaf6f6fb2e115fadafe7 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/92493 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: c069cc2be60345e06e9a3927b9b35f37e901921e
2024-04-17wifi: cfg80211: refactor RNR parsingJohannes Berg2-138/+170
We'll need more parsing of the reduced neighbor report element, and we already have two places doing pretty much the same. Combine by refactoring the parsing into a separate function with a callback for each item found. type=feature ticket=none Change-Id: Ibe25be88a769eab29ebb17b9d19af666df6a2227 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/92426 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Reviewed-by: Benjamin Berg <benjamin.berg@intel.com> x-iwlwifi-stack-dev: 052b35671d4f7601899353d26611062249edde82
2024-04-17wifi: cfg80211: clean up cfg80211_inform_bss_frame_data()Johannes Berg3-40/+35
Make cfg80211_inform_bss_frame_data() call the existing cfg80211_inform_bss_data() after parsing the frame in the appropriate way, so we have less code duplication. This required introducing a new CFG80211_BSS_FTYPE_S1G_BEACON, but that can be used by other drivers as well. type=cleanup ticket=none Change-Id: Ib7d88d126eec50c64763251a78cb432bb5df14df Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/92486 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 7ca79bf3a45bb696c66ca28912123081fe9219ef
2024-04-17wifi: cfg80211: remove cfg80211_inform_single_bss_frame_data()Johannes Berg2-166/+81
This function pretty much does what cfg80211_inform_single_bss_data() already does, except on a frame data. But we can call the other one, after populating the inform_data more completely, so we don't need to do everything twice. This also uncovered a few bugs: * the 6 GHz power type checks were only done in this function, move (and rename from 'uhb') those; * the chains/chain_signal information wasn't used in the latter, add that type=cleanup ticket=none Change-Id: I2192adb32ab10713e71f395a9d203386264f6ed5 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/92484 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 72c9d31274b3507cf72d1e51c1054b5ceba0d309
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: fix the TXF mapping for BZ devicesEmmanuel Grumbach4-4/+29
Those devices' fifos are numbered differently. Because of that, we were looking at the size of the VO fifo size to determine the size of the A-MSDU which led to a lower throughput. Note that for those devices the only user of the AC -> fifo mapping is the size limitation of A-MSDU. type=bugfix ticket=jira:WIFI-373459 fixes=unknown Change-Id: I73e44d5fc474ebb6f275b9008950e59c012f33b2 Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/93812 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 8487a1cc8cb29daa9ce5af8fad330aa2f64c6c69
2024-04-17[BUGFIX] wifi: iwlwifi: uninitialized variable in iwl_acpi_get_ppag_table()Dan Carpenter2-1/+4
This is an error path and Smatch complains that "tbl_rev" is uninitialized on this path. All the other functions follow this same patter where they set the error code and goto out_free so that's probably what was intended here as well. type=bugfix ticket=none fixes=I61e64c2758ad178da729ce00428287cc94430eed Fixes: e8e10a37c51c ("iwlwifi: acpi: move ppag code from mvm to fw/acpi") Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> Link: https://msgid.link/09900c01-6540-4a32-9451-563da0029cb6@moroto.mountain Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I8d20ae2ce117d43fba35033b59ff7332d1901f7a Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/93623 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: aaaad1d971d789d43e56fe50fccd0fd2a8a2f122
2024-04-17[BUGFIX] wifi: iwlwifi: Fix some error codesDan Carpenter2-7/+7
This saves the error as PTR_ERR(wifi_pkg). The problem is that "wifi_pkg" is a valid pointer, not an error pointer. Set the error code to -EINVAL instead. type=bugfix ticket=none fixes=I36297aef90a9ec6a3ea1bf1a151a62f272826d59 Fixes: 2a8084147bff ("iwlwifi: acpi: support reading and storing WRDS revision 1 and 2") Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> Link: https://msgid.link/9620bb77-2d7c-4d76-b255-ad824ebf8e35@moroto.mountain Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Change-Id: I8238769616e0d0fa3d0100c3cb5ad5a126f54734 Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/93622 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: 42d7b76bc54f89648e025bc646cd6c4fb583e6f5
2024-04-17[BUGFIX] wifi: cfg80211: set correct param change count in ML elementBenjamin Berg2-11/+17
The ML element generation code to create a BSS entry from a per-STA profile was not overwriting the BSS parameter change count. This meant that the incorrect parameter change count would be reported within the multi-link element. Fix this by returning the BSS parameter change count from the function and placing it into the ML element. The returned tbtt info was never used, so just drop that to simplify the code. type=bugfix ticket=none fixes=Ide468f95dd63b77c154aa6d0e0fc24ceccfc5cd1 Fixes: 5f478adf1f99 ("wifi: cfg80211: generate an ML element for per-STA profiles") Change-Id: I06b122c7a319a38b4e970f5e0bd3d3ef9cac4cbe Signed-off-by: Benjamin Berg <benjamin.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/92459 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Johannes Berg <johannes.berg@intel.com> x-iwlwifi-stack-dev: 192ff22befb18aa53ea907b792f12d598e4d7343
2024-04-17[NOUPSTREAM] wifi: iwlwifi: fw: clean up gratuitous upstream diffJohannes Berg8-14/+8
We don't need these differences to upstream, clean up. type=cleanup ticket=none Change-Id: I47d378ac3e1a4f03e2f84381700200fae1f5cd47 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/92325 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: ab0e815d1ccfa7397ad2f8d2ea8114b641500301
2024-04-17wifi: iwlwifi: api: fix kernel-doc referenceJohannes Berg2-3/+3
This is for iwl_tas_config_cmd_v4, not iwl_tas_config_cmd_v3. type=cleanup fixes=I177929ed01ed7bf4614ea0f6db2af9e52de13316 ticket=none Change-Id: I640a12bc799612e82c3e7a4d628bbb7760511297 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/92324 automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: e48e4fa263245de76fc8d2e2a784ae0521cd8ba7
2024-04-17Revert "[BUGFIX] [NOUPSTREAM] mac80211: remove check for local->wolan in ↵Johannes Berg2-7/+4
gtk_rekey_add()" This reverts commit a485fea3007f. With the pseudo-D3 rekeying tests removed, we no longer need it. type=cleanup ticket=none Change-Id: I460bac3a99abc04e63759747bd2912be04f3072b Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/92318 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> x-iwlwifi-stack-dev: 2224b710ed201da5b3a9bc38c67e728e3c6cfc43
2024-04-17[BUGFIX] wifi: iwlwifi: mvm: ensure offloading TID queue existsBenjamin Berg4-3/+39
The resume code path assumes that the TX queue for the offloading TID has been configured. At resume time it then tries to sync the write pointer as it may have been updated by the firmware. In the unusual event that no packets have been send on TID 0, the queue will not have been allocated and this causes a crash. Fix this by ensuring the queue exist at suspend time. type=bugfix ticket=jira:WIFI-356936 fixes=unknown Change-Id: Ie6e6a7488c9c7d4529f13d48f752b5439d8ac3c4 Signed-off-by: Benjamin Berg <benjamin.berg@intel.com> Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/90039 Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 0c2b779e1d905d56e9913bc4f1649917d33a1161