@@ -2496,8 +2496,7 @@ static void ieee80211_deliver_skb_to_local_stack(struct sk_buff *skb,
struct ieee80211_sub_if_data *sdata = rx->sdata;
struct net_device *dev = sdata->dev;
- if (unlikely((skb->protocol == sdata->control_port_protocol ||
- skb->protocol == cpu_to_be16(ETH_P_PREAUTH)) &&
+ if (unlikely(skb->protocol == sdata->control_port_protocol &&
sdata->control_port_over_nl80211)) {
struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
bool noencrypt = !(status->flag & RX_FLAG_DECRYPTED);
@@ -5317,10 +5317,8 @@ int ieee80211_tx_control_port(struct wiphy *wiphy, struct net_device *dev,
u32 flags;
/* Only accept CONTROL_PORT_PROTOCOL configured in CONNECT/ASSOCIATE
- * or Pre-Authentication
*/
- if (proto != sdata->control_port_protocol &&
- proto != cpu_to_be16(ETH_P_PREAUTH))
+ if (proto != sdata->control_port_protocol)
return -EINVAL;
if (unencrypted)
As Jouni recently pointed out, the nl80211 control should only transmit and receive EAPOL frames. This patch removes forwarding of preauthentication frames over the control port. They are handled as ordinary data frames again. Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de> --- net/mac80211/rx.c | 3 +-- net/mac80211/tx.c | 4 +--- 2 files changed, 2 insertions(+), 5 deletions(-)