summaryrefslogtreecommitdiff
path: root/drivers/net/wireless
AgeCommit message (Collapse)Author
2026-01-22wifi: rtw89: phy: fix incorrect power limit by mac_idPo-Hao Huang
Modify the power register range based on chip ability. When not set, the default value is random. This fixes incorrect power limit on some ICs. Signed-off-by: Po-Hao Huang <phhuang@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20260114013950.19704-12-pkshih@realtek.com
2026-01-22wifi: rtw89: phy: refine initial flow of BB wrapperPing-Ke Shih
Set initial value of TX power and TX path per MAC ID to 0x0, and reorder initial flow as vendor driver does. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20260114013950.19704-11-pkshih@realtek.com
2026-01-22wifi: rtw89: phy: write BB wrapper registers with flushPing-Ke Shih
BB wrapper is a hardware circuit to control TX power, and for single writing it needs an additional flush to ensure writing is properly completed. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20260114013950.19704-10-pkshih@realtek.com
2026-01-22wifi: rtw89: phy: update BB wrapper RFSIPing-Ke Shih
RTL8922D adds newly BB wrapper RFSI, including compensation values and threshold, bandedge settings, and CIM3K coefficient. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20260114013950.19704-9-pkshih@realtek.com
2026-01-22wifi: rtw89: phy: update bb wrapper TPU initEric Huang
Set DBW by rate to on in TPU (TX Power Unit) init, and extend to initialize two hardware bands. Signed-off-by: Eric Huang <echuang@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20260114013950.19704-8-pkshih@realtek.com
2026-01-22wifi: rtw89: phy: abstract BB wrap registers to share initial flowPing-Ke Shih
BB wrap registers are to configure TX power in MAC register domain, but they are controlled and designed by BB layer. Since coming chips use different register address, add a struct to define them. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20260114013950.19704-7-pkshih@realtek.com
2026-01-22wifi: rtw89: phy: extend register to read history 2 of PHY env_monitorEric Huang
For old chips, history is 8 bits storing in single one register, and RTL8922D's one is 16 bits and two registers. Extend to common flow accordingly. Signed-off-by: Eric Huang <echuang@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20260114013950.19704-6-pkshih@realtek.com
2026-01-22wifi: rtw89: phy: abstract start address and EHT of PHY status bitmapPing-Ke Shih
Select PHY status being reported by a set of addresses. Abstract the address and EHT bitmap to share common flow. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20260114013950.19704-5-pkshih@realtek.com
2026-01-22wifi: rtw89: phy: add ops rtw89_phy_gen_be_v1 for RTL8922DPing-Ke Shih
Define RTL8922D specific registers, including PHY base control register, PHY status, CFO registers, and TX power registers. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20260114013950.19704-4-pkshih@realtek.com
2026-01-22wifi: rtw89: phy: add {read,write}_rf_v3 for RTL8922DPing-Ke Shih
Implement to access RF registers for RTL8922D. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20260114013950.19704-3-pkshih@realtek.com
2026-01-22wifi: rtw89: mac: clear global interrupt right after power-onPing-Ke Shih
The global interrupt indicator is always persistent, and firmware will handle it right after boot. To prevent this unnecessary handling, clear the indicator before downloading firmware. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20260114013950.19704-2-pkshih@realtek.com
2026-01-22wifi: rtw88: add WQ_PERCPU to alloc_workqueue usersMarco Crivellari
Currently if a user enqueues a work item using schedule_delayed_work() the used wq is "system_wq" (per-cpu wq) while queue_delayed_work() use WORK_CPU_UNBOUND (used when a cpu is not specified). The same applies to schedule_work() that is using system_wq and queue_work(), that makes use again of WORK_CPU_UNBOUND. This lack of consistency cannot be addressed without refactoring the API. For more details see the Link tag below. alloc_workqueue() treats all queues as per-CPU by default, while unbound workqueues must opt-in via WQ_UNBOUND. This default is suboptimal: most workloads benefit from unbound queues, allowing the scheduler to place worker threads where they’re needed and reducing noise when CPUs are isolated. This continues the effort to refactor workqueue APIs, which began with the introduction of new workqueues and a new alloc_workqueue flag in: commit 128ea9f6ccfb ("workqueue: Add system_percpu_wq and system_dfl_wq") commit 930c2ea566af ("workqueue: Add new WQ_PERCPU flag") This change adds a new WQ_PERCPU flag to explicitly request alloc_workqueue() to be per-cpu when WQ_UNBOUND has not been specified. With the introduction of the WQ_PERCPU flag (equivalent to !WQ_UNBOUND), any alloc_workqueue() caller that doesn’t explicitly specify WQ_UNBOUND must now use WQ_PERCPU. Once migration is complete, WQ_UNBOUND can be removed and unbound will become the implicit default. Suggested-by: Tejun Heo <tj@kernel.org> Signed-off-by: Marco Crivellari <marco.crivellari@suse.com> Link: https://lore.kernel.org/all/20250221112003.1dSuoGyc@linutronix.de/ Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20251113160605.381777-3-marco.crivellari@suse.com
2026-01-21wifi: iwlwifi: rename struct iwl_mcc_allowed_ap_type_cmd::offset_mapEmmanuel Grumbach
This was poorly named, probably a copy paste mistake. The real meaning of this field is a map of the MCCs to describe the AP type allowed for each country. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20260111193638.6ed558b09581.I6560b8cfb36b68cea1afe8f89f87dded99d2caf7@changeid
2026-01-21wifi: iwlwifi: mvm: Remove link_id from time_eventsNidhish A N
As part of removal of EMLSR support from mvm, remove link_id parameter from time_events. Additionally, remove link_id parameter from iwl_mvm_protect_assoc as we can now directly use deflink. Signed-off-by: Nidhish A N <nidhish.a.n@intel.com> Reviewed-by: Pagadala Yesu Anjaneyulu <pagadala.yesu.anjaneyulu@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20260111193638.9475bb832db6.I5829b0a2a9a5b56fe885eb0f1e1ad8cd70bc69ff@changeid
2026-01-21wifi: iwlwifi: mld: change cluster_id type to u8 arrayBenjamin Berg
While the cluster_id is two bytes long, it is just the last two bytes of the cluster ID MAC address. This does not really map to a big or little endian data type. Switch it to use an array to avoid confusion and adjust all users so that they do the right thing independent of endianness. Signed-off-by: Benjamin Berg <benjamin.berg@intel.com> Reviewed-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20260111193638.80921dc7d305.I56c2bbe0bfc6ee02782bc5d69fda2ac77f3502c4@changeid
2026-01-21wifi: iwlwifi: support V13 of iwl_lari_config_change_cmdEmmanuel Grumbach
This command is getting a new field for UNII-9 and ieee80211bn enablement. We must read the relevant DSM values and pass them to the firmware, Remember whether we have ACPI or UEFI available in the firmware runtime object and remember the DSM function revision. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20260111193638.9577f0cade21.I82b26f082f152a83eb9990dddf68d7dcc549f227@changeid
2026-01-21wifi: iwlwifi: split bios_value_u32 to separate the headerEmmanuel Grumbach
This header will be reused in other firmware API structures Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20260111193638.2f191a5f33fe.I7797134967b980bbda9ba29daa360e50a2196d7d@changeid
2026-01-21wifi: iwlwifi: uefi: cache the DSM functionsEmmanuel Grumbach
Just like we did for ACPI, cache the UEFI values to avoid reading the tables over and over again. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20260111193638.15871db3cfab.Ib39db197646cc303d60bb12448794d20f6ccbd15@changeid
2026-01-21wifi: iwlwifi: acpi: cache the DSM functionsEmmanuel Grumbach
Instead of reading the DSM functions on demand, just read them all when the first DSM function is called and cache the values for all the other DSM functions. This simplifies the flow. Since the same will be done for UEFI in the next patch, remove the ifdef CONFIG_ACPI around the relevant variables. Once UEFI's cache will be implemented, we'll be able to change iwl_bios_get_dsm to access the cache directly. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20260111193638.732ff6856796.Iff844bfbb0fea3c3d9654a53254a5b14dbaec8c1@changeid
2026-01-21wifi: iwlwifi: mvm: Cleanup MLO codeNidhish A N
iwlmld is now the op mode that is used for EHT devices, so iwlmvm code can never run in MLO. Cleanup some of the MLO code. Signed-off-by: Nidhish A N <nidhish.a.n@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20260111193638.214157366bc7.I324778c008058c5d894328aab8e473304f657b69@changeid
2026-01-21wifi: iwlwifi: move iwl_get_lari_config_bitmap to the op_modeEmmanuel Grumbach
This is used solely there. The implementation can differe between different op_modes that support different firmware versions Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20260111193638.099e733b1ece.Icac5b8eb5d8260e35df89622443d68a6beacedbb@changeid
2026-01-21wifi: iwlwifi: move lari helper functions to the op_modeEmmanuel Grumbach
iwlmvm is the only op_mode that uses the lari helper functions. iwlmld has its own version to avoid introducing regressions. Move all those functions to iwlmvm, as they are more related to the op_mode. iwl_get_lari_config_bitmap will move in the next patch. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20260111193638.4bb241e436cb.I3d80796d4722376ce24a847419d34723083baaa8@changeid
2026-01-21wifi: iwlwifi: mld: prevent EMLSR when NAN is activeMiri Korenblit
EMLSR is not allowed when NAN is active. Block EMLSR when starting NAN, and unblock EMLSR when NAN is stopped. Reviewed-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20260111193638.8baef343023a.Ie94e5f32db003ebce33bde65e0ed8c6d98673b5a@changeid
2026-01-21wifi: iwlwifi: mld: add an helper to update an EMLSR blockerMiri Korenblit
Add an helper function that iterates over all (relevant) interfaces and sets/unsets a given EMLSR blocker. For now use it only for IWL_MLD_EMLSR_BLOCKED_NON_BSS. Reviewed-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20260111193638.f87b347a5cf0.I6836ba40d21cca49401d1f88e03a37b00dd9f5c2@changeid
2026-01-21wifi: iwlwifi: mld: Fix primary link selection logicNidhish A N
When assigning emlsr.primary with emlsr.selected_primary we are checking if BIT(mld_vif->emlsr.selected_links) are a part of vif->active_links. This is incorrect as emlsr.selected_links is a bitmap of possibly two selected links. Therefore, performing the BIT() operation on it does not yield any meaningful result and almost always leads to incorrect primary link selection. Additionally, we cannot rely on vif->active_links at this stage of the link switch flow because it contains both the removed links and also the newly added links. For example, if we had selected links in the past (0x11) and we now select links because of TTLM/debugfs (0x100), vif->active_links will now be (0x111) and primary link will be 0, while 0 is not even an active link. Thus, we create our own bitmap of final active links. Signed-off-by: Nidhish A N <nidhish.a.n@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20260111193638.38b2e14e3a20.Ie81a88dfff0c5d2becedabab8398702808f6b1bf@changeid
2026-01-21wifi: iwlwifi: cfg: remove iwl_be221_nameJohannes Berg
This is unused, no devices with such a name exist, so remove it. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20260111193638.360ca699c9d6.I26ceddc2916e134ff50ea8550e44935f287b063c@changeid
2026-01-21wifi: iwlwifi: mld: fix chandef start calculationMiri Korenblit
A link pair in which both links are in 5 GHz can be used for EMLSR only if they are separated enough. To check this condition we calculate the start and the end of the chandefs of both links in the pair and do some checks. But the calculation of the start/end of the chandef is currently done by subtracting/adding half the bandwidth from/to the control channel's center frequency, when it should really be subtracted/added from/to the center frequency of the entire chandef. Fix the wrong calculation. Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20260111193638.2138fdb99bd5.I4d2e5957b22482a57b1d6ca444e90fcf73bf2cab@changeid
2026-01-21wifi: iwlwifi: mld: remove unused variable in d3.cAlly Heev
remove unused variable `old_keys` Signed-off-by: Ally Heev <allyheev@gmail.com> Link: https://patch.msgid.link/20251111-aheev-remove-unused-var-old-keys-v1-1-988de3a91b1c@gmail.com Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
2026-01-21wifi: iwlwifi: fw: api: add HE type for UHR ELRJohannes Berg
For UHR ELR, the EXT_SU type is reused, so it depends on the modulation. Add a define so the code will be clearer. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110150012.3dabe4690805.I93dfb6b41ace7844e462e8649253c20f2712b382@changeid
2026-01-21wifi: iwlwifi: cfg: move the MODULE_FIRMWARE to the per-rf fileMiri Korenblit
The MODULE_FIRMWARE are now located in the rf-*.h file and not in the mac (bz.h in our case) files. Move them around for consistency. Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110150012.9749e9514e8c.Ib6f15663c875cf231e97cb4b37adaf21fa616a77@changeid
2026-01-21wifi: iwlwifi: mld: fix HE SIG-B MCS/DCM/compressionJohannes Berg
These values should be taken from SIG-A, indicating how SIG-B is encoded. The values taken from SIG-B (the corresponding register) indicate how the data portion (for that user) is encoded. For the SIG-B compression value the correct mask was applied to the wrong value. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: Benjamin Berg <benjamin.berg@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110150012.4d625e05dece.If295eb9382fc681d63b0853261d884cd1a833ba5@changeid
2026-01-21wifi: iwlwifi: fw: api: add UHR data definitionsJohannes Berg
Add the necessary data definitions for the sniffer-related fields reported for the various UHR frame formats by the firmware/hardware to be able to later add the necessary sniffer code. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110150012.358b51dd8cb2.I16178416dd7019cb88a45e55f81eb28510982028@changeid
2026-01-21wifi: iwlwifi: add UHR TLC modeJohannes Berg
This is part of the new TLC API for UHR, was just missed in the earlier update. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110150012.aba5036fcee0.Ifba8e366a3ad794a384ced1ebe39fccfc0ec5198@changeid
2026-01-21wifi: iwlwifi: adjust LINK context NPCA APIJohannes Berg
The link context NPCA API was changed in the firmware, adjust the driver accordingly. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110150012.93bd7a454eef.I3d2ce1a363b0d8c3809ec8e729b7acf94efca25b@changeid
2026-01-21wifi: iwlwifi: mld: refactor AP power type settingPagadala Yesu Anjaneyulu
Fix unsafe power type mapping for iwl_txpower_constraints_cmd that breaks if enum values change. Replace "power_type - 1" with explicit case handling for each power type. While on it, Add debug logging to show configured power type. Signed-off-by: Pagadala Yesu Anjaneyulu <pagadala.yesu.anjaneyulu@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110150012.f3b15566dac8.I31b900ab161fb627158dc1b3e2fc4ab35d84fddf@changeid
2026-01-21wifi: iwlwifi: fix 22000 series SMEM parsingJohannes Berg
If the firmware were to report three LMACs (which doesn't exist in hardware) then using "fwrt->smem_cfg.lmac[2]" is an overrun of the array. Reject such and use IWL_FW_CHECK instead of WARN_ON in this function. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110150012.16e8c2d70c26.Iadfcc1aedf43c5175b3f0757bea5aa232454f1ac@changeid
2026-01-21wifi: iwlwifi: mld: support TLC command version 6Miri Korenblit
In version 6, a phy id is added to the tlc command and the sta_id becomes a sta_mask. This change is required for NAN: - in NAN we can have 2 logical stations of the same physical station and with the same channel/band (2 NDIs with the same peer) - hence the sta_mask. - In NAN we can have more than one TLC configuration for a single station (for example if it operates on more than one channel) - so the FW needs to be able to find the right TLC context, based on the phy id. Populate the new version (for now with a single station id only. The other ones will be added later when NAN is implemented). In case the FW has a lower version than that - convert it to the FW version. Note that there is some code duplicantion in the conversions to v5 and to v4, but this is intentional since v5 will be removed as soon as v6 is supported. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110150012.64220c6b292b.I2f5d195ce2bf9d35398f0f6f2d5faf9e90ae45a4@changeid
2026-01-21wifi: iwlwifi: mld: trigger a dump upon notification if neededEmmanuel Grumbach
The firmware can request us to trigger a dump upon specific notifications. In order for that flow to work, we need to call the firmware debug infra when we get a notification from the firmware. This was missing. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110150012.d6d7e69c7da6.I40f891ece6f98983e0fd2cd0c6863f8620ca08aa@changeid
2026-01-21wifi: iwlwifi: fw: fix documentation reference for ap_type fieldPagadala Yesu Anjaneyulu
Fix the documentation comment for the ap_type field in AP_TX_POWER_CONSTRAINTS_CMD to reference the correct enum iwl_6ghz_ap_type. Signed-off-by: Pagadala Yesu Anjaneyulu <pagadala.yesu.anjaneyulu@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110150012.d70f56dd24b0.I82956bd93a36c7fa5585f014c197afea0610a076@changeid
2026-01-21wifi: iwlwifi: mvm: check the validity of noa_lenMiri Korenblit
Validate iwl_probe_resp_data_notif::noa_attr::len_low since we are using its value to determine the noa_len, which is later used for the NoA attribute. Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110150012.99b663d9b424.I206fd54c990ca9e1160b9b94fa8be44e67bcc1b9@changeid
2026-01-21wifi: iwlwifi: mvm: Remove few redundant 6 GHz scan chan paramsDaniel Gabay
- iwl_mvm_scan_umac_chan_flags_v2() computes channel params flags that are only relevant for 2.4/5 GHz scan, explicitly clear the flags for 6 GHz scan. - n_aps_override[0] and n_aps_override[1] are not relevant for 6 GHz scan, remove them. Signed-off-by: Daniel Gabay <daniel.gabay@intel.com> Reviewed-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110150012.3b4f8ed30498.I014c098e64118fe3adaf6db07816e7df8ea4f79e@changeid
2026-01-21wifi: iwlwifi: mld: Remove wrong channel flags in scan cmdDaniel Gabay
Erroneously, the channel flags in the scan command for 6 GHz scan were mistakenly set using iwl_mld_scan_get_cmd_gen_flags, which actually calculates a different field (the general flags) in the command. However, these flags are not relevant for 6 GHz scan part, except for IWL_SCAN_CHANNEL_FLAG_6G_PSC_NO_FILTER, which is already set correctly. Since the incorrect flags are only applied in the 6 GHz scan part and are ignored by the firmware, this has no adverse effect. Therefore, we can simply remove this helper function call and explicitly clear the flags. Signed-off-by: Daniel Gabay <daniel.gabay@intel.com> Reviewed-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110150012.a8a931e1abef.I8f7dc66b23198b83083685ef76dec59cfb407f57@changeid
2026-01-21wifi: iwlwifi: mld: decode VHT information for snifferBenjamin Berg
The available VHT information may be useful, so decode it and include it in the generated radiotap headers. Signed-off-by: Benjamin Berg <benjamin.berg@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110150012.6751d1d0b31d.I927cb0767667f2c03ee41f2ba417f3b94bba6d91@changeid
2026-01-21wifi: iwlwifi: mld: Advertise support for multicast RX registrationIlan Peer
While this is not needed for configuring Rx filters, without setting it some multicast action frame registrations from user space would fail, specifically, NAN multicast action frame registration (SDFs). Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110180612.640fb5a99470.If6f423bcf0a426e662041a4b310ce81485f1af03@changeid
2026-01-21wifi: iwlwifi: mld: Support changing NAN configurationIlan Peer
Add support for changing the NAN configuration. Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110180612.82dcdfeb9533.Ib8576873c92f68f1bcafbda409d45ef2b4133e9f@changeid
2026-01-21wifi: iwlwifi: mld: Extend the NAN configurationIlan Peer
Configure the FW based on the NAN cluster configuration provided by higher layers. Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110180612.5353d9520f0f.Ie41dcea815afbb5da6cc870ea50a271c18f66639@changeid
2026-01-21wifi: iwlwifi: mld: Declare support for NAN capabilitiesIlan Peer
And notify cfg80211 about NAN cluster events and DW end events. Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110180612.eb49cb2172ce.Iaf59884242cb52351e24cb0711875851b5c863f8@changeid
2026-01-21wifi: iwlwifi: mld: Handle rate selection for NAN interfaceIlan Peer
Frames transmitted over a NAN interface might not have channel information assigned to them. In such cases assign the lowest OFDM to the frame. Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110180612.72046f98f878.Ib784931fffd0747acd9d7bb22eabbbec5282733e@changeid
2026-01-21wifi: iwlwifi: mld: Add support for NANIlan Peer
- Add firmware API definitions related to NAN. - Indicate support for NAN Device interface operation, if supported by the firmware. - Add support for starting and stopping NAN cluster functionality. The NAN cluster operation is offloaded to the FW, which notifies the driver on: - cluster events: Start/Join cluster. - Discovery Window (DW) end, which allows the driver to flush the HW queues and update the higher layers Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20251110180612.76dd4d45b91e.I5abfab64b4f27bed442aeca6231ffebad979cad6@changeid
2026-01-20kernel.h: drop hex.h and update all hex.h usersRandy Dunlap
Remove <linux/hex.h> from <linux/kernel.h> and update all users/callers of hex.h interfaces to directly #include <linux/hex.h> as part of the process of putting kernel.h on a diet. Removing hex.h from kernel.h means that 36K C source files don't have to pay the price of parsing hex.h for the roughly 120 C source files that need it. This change has been build-tested with allmodconfig on most ARCHes. Also, all users/callers of <linux/hex.h> in the entire source tree have been updated if needed (if not already #included). Link: https://lkml.kernel.org/r/20251215005206.2362276-1-rdunlap@infradead.org Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Yury Norov (NVIDIA) <yury.norov@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>