wifi: mac80211: improve drop for action frame return
authorJohannes Berg <johannes.berg@intel.com>
Wed, 20 Mar 2024 07:14:04 +0000 (09:14 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 25 Mar 2024 14:39:28 +0000 (15:39 +0100)
If we use a drop we not only save the extra call to
dev_kfree_skb(), but also have a better reason in
tracing, so do that.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240320091155.34daf0a89eb4.I60e0639511f9de64e40e6105b640adf90f8f57f7@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/drop.h
net/mac80211/rx.c

index 12a6f0e9eca64c8489ecb4f6653a7551c9b889a9..59e3ec4dc9607cbb3d8b06d31bbbfc2757c59214 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * mac80211 drop reason list
  *
- * Copyright (C) 2023 Intel Corporation
+ * Copyright (C) 2023-2024 Intel Corporation
  */
 
 #ifndef MAC80211_DROP_H
@@ -66,6 +66,7 @@ typedef unsigned int __bitwise ieee80211_rx_result;
        R(RX_DROP_U_UNEXPECTED_STA_4ADDR)       \
        R(RX_DROP_U_UNEXPECTED_VLAN_MCAST)      \
        R(RX_DROP_U_NOT_PORT_CONTROL)           \
+       R(RX_DROP_U_UNKNOWN_ACTION_REJECTED)    \
 /* this line for the trailing \ - add before this */
 
 /* having two enums allows for checking ieee80211_rx_result use with sparse */
index c1f8501384056d3ebbb9ba7ddbd5c659c579d582..4b4cbd8bf35d2bff14d8186b01cde82cd71ca214 100644 (file)
@@ -3958,8 +3958,8 @@ ieee80211_rx_h_action_return(struct ieee80211_rx_data *rx)
                __ieee80211_tx_skb_tid_band(rx->sdata, nskb, 7, -1,
                                            status->band);
        }
-       dev_kfree_skb(rx->skb);
-       return RX_QUEUED;
+
+       return RX_DROP_U_UNKNOWN_ACTION_REJECTED;
 }
 
 static ieee80211_rx_result debug_noinline