mbox series

[wireless-next,RFC,v2,0/2] wifi: mac80211: Fix Rx packet handling in multi-radio devices

Message ID 20250505113619.3654343-1-maharaja.kennadyrajan@oss.qualcomm.com
Headers show
Series wifi: mac80211: Fix Rx packet handling in multi-radio devices | expand

Message

Maharaja Kennadyrajan May 5, 2025, 11:36 a.m. UTC
This patch series addresses issues related to the handling of Rx group
addressed data and management frames in multi-radio devices with ath12k
driver. These frames don't have the destination station information, unlike
unicast Rx frames, and are forwarded to all the active sdata of the device.

This happens because currently there is no check to ensure if the sdata is
running on the same band as the frames are received on before start
processing those frames.

The patches ensure that packets are correctly processed and forwarded only
to the appropriate interfaces by mandating the ieee80211_rx_status::freq
for group addressed data frames and check the operating frequency against
the rx_status->freq and forward to the appropriate interface when the
frequency matches.

Marking this patch as RFC to seek feedback for the functional change which
mandates the ieee80211_rx_status::freq for group addressed data frames to
fix the above Rx packet processing issue in multi-radio devices and
following the current behavior (Rx packets are received on one band are
processed on an interface running on a different band in multi-radio
device) when the ieee80211_rx_status::freq is not reported by the driver
for the packets received.

This issue is also likely be applicable for Mediatek driver (mt76),
the other driver that registers multi-radio device (also seems to report
freq in rx_status).

v2: Addressed Johannes's comments.
    * Changed to for_each_link_data() from for_each_set_bit()
    * Removed boolean variable and return with bool value.
    * Combined the if condition.

Maharaja Kennadyrajan (2):
  wifi: mac80211: update ieee80211_rx_status::freq documentation for
    multi-radio
  wifi: mac80211: process group addressed Rx data and mgmt packets on
    intended interface

 include/net/mac80211.h |  6 ++++--
 net/mac80211/rx.c      | 48 +++++++++++++++++++++++++++++++++++-------
 2 files changed, 44 insertions(+), 10 deletions(-)


base-commit: 885e5cbaa0ee3738fcd99167439459ede2cc102c