Commit bee404e1 authored by Andrei Otcheretianski's avatar Andrei Otcheretianski Committed by Johannes Berg
Browse files

wifi: mac80211: Accept authentication frames on P2P device

parent 1b5b7f3d
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
 * Copyright 2006-2007	Jiri Benc <jbenc@suse.cz>
 * Copyright 2013-2014  Intel Mobile Communications GmbH
 * Copyright (C) 2017     Intel Deutschland GmbH
 * Copyright (C) 2018-2023 Intel Corporation
 * Copyright (C) 2018-2024 Intel Corporation
 */

#include <net/mac80211.h>
@@ -726,8 +726,13 @@ ieee80211_default_mgmt_stypes[NUM_NL80211_IFTYPES] = {
	},
	[NL80211_IFTYPE_P2P_DEVICE] = {
		.tx = 0xffff,
		/*
		 * To support P2P PASN pairing let user space register to rx
		 * also AUTH frames on P2P device interface.
		 */
		.rx = BIT(IEEE80211_STYPE_ACTION >> 4) |
			BIT(IEEE80211_STYPE_PROBE_REQ >> 4),
			BIT(IEEE80211_STYPE_PROBE_REQ >> 4) |
			BIT(IEEE80211_STYPE_AUTH >> 4),
	},
};

+3 −1
Original line number Diff line number Diff line
@@ -4562,7 +4562,9 @@ static bool ieee80211_accept_frame(struct ieee80211_rx_data *rx)
		return ieee80211_is_public_action(hdr, skb->len) ||
		       ieee80211_is_probe_req(hdr->frame_control) ||
		       ieee80211_is_probe_resp(hdr->frame_control) ||
		       ieee80211_is_beacon(hdr->frame_control);
		       ieee80211_is_beacon(hdr->frame_control) ||
		       (ieee80211_is_auth(hdr->frame_control) &&
			ether_addr_equal(sdata->vif.addr, hdr->addr1));
	case NL80211_IFTYPE_NAN:
		/* Currently no frames on NAN interface are allowed */
		return false;