linux/net/mac80211
Aditya Kumar Singh 32d340ae67 wifi: mac80211: fix Rx packet handling when pubsta information is not available
In ieee80211_rx_handle_packet(), if the caller does not provide pubsta
information, an attempt is made to find the station using the address 2
(source address) field in the header. Since pubsta is missing, link
information such as link_valid and link_id is also unavailable. Now if such
a situation comes, and if a matching ML station entry is found based on
the source address, currently the packet is dropped due to missing link ID
in the status field which is not correct.

Hence, to fix this issue, if link_valid is not set and the station is an
ML station, make an attempt to find a link station entry using the source
address. If a valid link station is found, derive the link ID and proceed
with packet processing. Otherwise, drop the packet as per the existing
flow.

Fixes: ea9d807b56 ("wifi: mac80211: add link information in ieee80211_rx_status")
Suggested-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
Signed-off-by: Aditya Kumar Singh <aditya.kumar.singh@oss.qualcomm.com>
Link: https://patch.msgid.link/20250917-fix_data_packet_rx_with_mlo_and_no_pubsta-v1-1-8cf971a958ac@oss.qualcomm.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2025-09-19 11:59:34 +02:00
..
tests Plenty of things going on, notably: 2025-09-11 17:50:46 -07:00
Kconfig mac80211: MAC80211_MESSAGE_TRACING should depend on TRACING 2024-10-08 21:14:57 +02:00
Makefile
aead_api.c
aead_api.h
aes_ccm.h
aes_cmac.c
aes_cmac.h
aes_gcm.h
aes_gmac.c
aes_gmac.h
agg-rx.c wifi: mac80211: add support for S1G aggregation 2025-06-24 15:19:28 +02:00
agg-tx.c wifi: mac80211: add support for S1G aggregation 2025-06-24 15:19:28 +02:00
airtime.c wifi: mac80211: introduce EHT rate support in AQL airtime 2024-09-06 12:58:36 +02:00
cfg.c wifi: mac80211: Remove redundant rcu_read_lock/unlock() in spin_lock 2025-09-19 11:48:14 +02:00
chan.c wifi: mac80211: simplify return value handling of cfg80211_get_radio_idx_by_chan() 2025-09-04 11:19:02 +02:00
debug.h wifi: mac80211: don't WARN for late channel/color switch 2025-06-17 14:30:06 +02:00
debugfs.c wifi: mac80211: remove tx_handlers_drop debugfs stats 2025-09-19 11:50:48 +02:00
debugfs.h
debugfs_key.c wifi: mac80211: Clean up debugfs_key deadcode 2025-01-13 13:51:19 +01:00
debugfs_key.h wifi: mac80211: Clean up debugfs_key deadcode 2025-01-13 13:51:19 +01:00
debugfs_netdev.c wifi: mac80211: Remove redundant rcu_read_lock/unlock() in spin_lock 2025-09-19 11:48:14 +02:00
debugfs_netdev.h
debugfs_sta.c wifi: mac80211: Remove redundant rcu_read_lock/unlock() in spin_lock 2025-09-19 11:48:14 +02:00
debugfs_sta.h
driver-ops.c wifi: mac80211: don't send keys to driver when fips_enabled 2025-07-15 11:00:38 +02:00
driver-ops.h wifi: mac80211: fix incorrect type for ret 2025-08-26 13:46:48 +02:00
drop.h wifi: mac80211: Drop cooked monitor support 2025-02-11 11:58:17 +01:00
eht.c wifi: mac80211: fix MPDU length parsing for EHT 5/6 GHz 2025-03-12 09:29:14 +01:00
ethtool.c wifi: mac80211: add tx_handlers_drop statistics to ethtool 2025-09-10 15:04:27 +02:00
fils_aead.c
fils_aead.h
he.c wifi: mac80211: add some support for RX OMI power saving 2025-01-13 15:26:43 +01:00
ht.c wifi: mac80211: handle WLAN_HT_ACTION_NOTIFY_CHANWIDTH async 2025-07-15 11:00:39 +02:00
ibss.c wifi: mac80211: add support towards MLO handling of station statistics 2025-06-24 15:19:26 +02:00
ieee80211_i.h wifi: mac80211: correctly initialise S1G chandef for STA 2025-09-19 11:56:07 +02:00
iface.c wifi: mac80211: Get the correct interface for non-netdev skb status 2025-09-19 11:26:23 +02:00
key.c wifi: mac80211: don't require cipher and keylen in gtk rekey 2025-07-22 10:43:19 +02:00
key.h
led.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
led.h
link.c wifi: mac80211: avoid weird state in error path 2025-07-09 11:41:38 +02:00
main.c wifi: mac80211: correctly initialise S1G chandef for STA 2025-09-19 11:56:07 +02:00
mesh.c wifi: mac80211: Fix 6 GHz Band capabilities element advertisement in lower bands 2025-09-04 11:47:03 +02:00
mesh.h wifi: mac80211: split mesh fast tx cache into local/proxied/forwarded 2024-04-17 09:21:32 +02:00
mesh_hwmp.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
mesh_pathtbl.c wifi: mac80211: Replace __get_unaligned_cpu32 in mesh_pathtbl.c 2025-04-23 15:28:50 +02:00
mesh_plink.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
mesh_ps.c wifi: mac80211: support parsing S1G TIM PVB 2025-09-04 11:19:01 +02:00
mesh_sync.c wifi: mac80211, cfg80211: miscellaneous spelling fixes 2024-10-08 21:52:09 +02:00
michael.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
michael.h
mlme.c wifi: mac80211: correctly initialise S1G chandef for STA 2025-09-19 11:56:07 +02:00
ocb.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
offchannel.c wifi: mac80211: Support Tx of action frame for NAN 2025-09-19 11:26:22 +02:00
parse.c wifi: mac80211: fix non-transmitted BSSID profile search 2025-07-07 10:42:48 +02:00
pm.c wifi: cfg80211/mac80211: Add support to get radio index 2025-06-24 15:19:27 +02:00
rate.c wifi: mac80211: Support Tx of action frame for NAN 2025-09-19 11:26:22 +02:00
rate.h wifi: mac80211: convert debugfs files to short fops 2024-10-23 16:47:07 +02:00
rc80211_minstrel_ht.c wifi: cfg80211/mac80211: remove more 5/10 MHz code 2025-04-23 15:21:32 +02:00
rc80211_minstrel_ht.h
rc80211_minstrel_ht_debugfs.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
rx.c wifi: mac80211: fix Rx packet handling when pubsta information is not available 2025-09-19 11:59:34 +02:00
s1g.c wifi: mac80211: handle station association response with S1G 2025-06-24 15:19:28 +02:00
scan.c wifi: mac80211: correctly initialise S1G chandef for STA 2025-09-19 11:56:07 +02:00
spectmgmt.c wifi: mac80211: Avoid -Wflex-array-member-not-at-end warnings 2025-04-23 15:20:20 +02:00
sta_info.c wifi: mac80211: Remove redundant rcu_read_lock/unlock() in spin_lock 2025-09-19 11:48:14 +02:00
sta_info.h wifi: mac80211: add support to accumulate removed link statistics 2025-06-24 15:19:26 +02:00
status.c wifi: mac80211: Get the correct interface for non-netdev skb status 2025-09-19 11:26:23 +02:00
tdls.c wifi: mac80211: reject TDLS operations when station is not associated 2025-07-18 14:11:27 +02:00
tkip.c Merge net-next/main to resolve conflicts 2024-10-09 08:59:22 +02:00
tkip.h
trace.c
trace.h wifi: cfg80211/mac80211: Add support to get radio index 2025-06-24 15:19:27 +02:00
trace_msg.h
tx.c wifi: mac80211: remove tx_handlers_drop debugfs stats 2025-09-19 11:50:48 +02:00
util.c wifi: mac80211: correctly initialise S1G chandef for STA 2025-09-19 11:56:07 +02:00
vht.c wifi: mac80211: make VHT opmode NSS ignore a debug message 2025-07-15 10:59:11 +02:00
wbrf.c wifi: mac80211: use cfg80211_chandef_get_width() 2025-03-12 09:50:27 +01:00
wep.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
wep.h
wme.c
wme.h
wpa.c wifi: mac80211: remove misleading j_0 construction parts 2024-10-23 16:46:58 +02:00
wpa.h