mac80211: fix xmit callback when hwencap enable
Since transmit control port uses same callback for both (ieee80211_subif_start_xmit) ethernet mode and native wifi mode, which causes authentication issue (M2 Handshake failure) in ethernet mode with encryption(psk2+ccmp).
This will also be an issue for hw/fw which doesn't support per packet tx/rx encap/decap.
Added hardware encap check to filter out ethernet mode packets to follow ieee80211_subif_start_xmit_8023 path.
--- net/mac80211/ieee80211_i.h | 5 +++++ net/mac80211/tx.c | 49 ++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 46 insertions(+), 8 deletions(-)
net/mac80211/ieee80211_i.h +5 -0
@@ -1783,6 +1783,11 @@ netdev_tx_t ieee80211_subif_start_xmit(struct sk_buff *skb, struct net_device *dev);netdev_tx_t ieee80211_subif_start_xmit_8023 (struct sk_buff *skb,struct net_device *dev); +netdev_tx_t __ieee80211_subif_start_xmit_8023 (struct sk_buff *skb, +struct net_device *dev, +u32 info_flags, +u32 ctrl_flags, +u64 *cookie); void __ieee80211_subif_start_xmit(struct sk_buff *skb, struct net_device *dev, u32 info_flags,
net/mac80211/tx.c +41 -8
92 lines not on this page · raw message
Signature · 1 line
2.7.4
Johannes Berg
maintainerQuoted 9 lines · P Praneesh
Since transmit control port uses same callback for both (
ieee80211_subif_start_xmit) ethernet mode and native wifi mode, which causes authentication issue (M2 Handshake failure) in ethernet mode with encryption(psk2+ccmp).
This will also be an issue for hw/fw which doesn't support per packet tx/rx encap/decap.Added hardware encap check to filter out ethernet mode packets to follow
ieee80211_subif_start_xmit_8023path.
This has some major conflicts with Felix's work, please check if that is already fixing the issue. I think it is.
johannes