From: Johannes Berg Date: Tue, 22 Apr 2025 19:32:51 +0000 (+0200) Subject: wifi: mac80211: restore monitor for outgoing frames X-Git-Tag: v6.15-rc5~22^2~34^2~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=abf078c0a322159f5ebe2adaa0cd69dc45b1e710;p=thirdparty%2Flinux.git wifi: mac80211: restore monitor for outgoing frames This code was accidentally dropped during the cooked monitor removal, but really should've been simplified instead. Add the simple version back. Fixes: 286e69677065 ("wifi: mac80211: Drop cooked monitor support") Link: https://patch.msgid.link/20250422213251.b3d65fd0f323.Id2a6901583f7af86bbe94deb355968b238f350c6@changeid Signed-off-by: Johannes Berg --- diff --git a/net/mac80211/status.c b/net/mac80211/status.c index b17b3cc7fb903..a362254b310cd 100644 --- a/net/mac80211/status.c +++ b/net/mac80211/status.c @@ -1085,7 +1085,13 @@ static void __ieee80211_tx_status(struct ieee80211_hw *hw, ieee80211_report_used_skb(local, skb, false, status->ack_hwtstamp); - if (status->free_list) + /* + * This is a bit racy but we can avoid a lot of work + * with this test... + */ + if (local->tx_mntrs) + ieee80211_tx_monitor(local, skb, retry_count, status); + else if (status->free_list) list_add_tail(&skb->list, status->free_list); else dev_kfree_skb(skb);