From: Felix Fietkau Date: Tue, 26 Aug 2025 20:14:21 +0000 (+0200) Subject: hostapd: fix wds ap on single-wiphy devices X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=9c895bacfb11374b13bf38d614552893d1c95b2f;p=openwrt%2Fstaging%2Fxback.git hostapd: fix wds ap on single-wiphy devices Ensure events are passed to the right interface Signed-off-by: Felix Fietkau --- diff --git a/package/network/services/hostapd/patches/060-nl80211-fix-reporting-spurious-frame-events.patch b/package/network/services/hostapd/patches/060-nl80211-fix-reporting-spurious-frame-events.patch new file mode 100644 index 0000000000..902fd4726e --- /dev/null +++ b/package/network/services/hostapd/patches/060-nl80211-fix-reporting-spurious-frame-events.patch @@ -0,0 +1,22 @@ +From: Felix Fietkau +Date: Tue, 26 Aug 2025 22:04:57 +0200 +Subject: [PATCH] nl80211: fix reporting spurious frame events + +When the nl80211 driver is shared across multiple interfaces (on the same +wiphy), nl80211_spurious_frame can send the event to the wrong interface by +using drv->ctx. Fix this by using bss->ctx instead. + +Signed-off-by: Felix Fietkau +--- + +--- a/src/drivers/driver_nl80211_event.c ++++ b/src/drivers/driver_nl80211_event.c +@@ -2789,7 +2789,7 @@ static void nl80211_spurious_frame(struc + event.rx_from_unknown.addr = nla_data(tb[NL80211_ATTR_MAC]); + event.rx_from_unknown.wds = wds; + +- wpa_supplicant_event(drv->ctx, EVENT_RX_FROM_UNKNOWN, &event); ++ wpa_supplicant_event(bss->ctx, EVENT_RX_FROM_UNKNOWN, &event); + } + +