P2P: Fix association with an AP/P2P GO that is not a P2P manager
Do not add a P2P IE when a station interface is trying to associate to an AP or P2P GO that publishes a P2P IE but does not include a P2P manageability attribute. This addresses an interoperability issue that was reported in https://bugzilla.kernel.org/show_bug.cgi?id=96471, where a P2P GO rejects association from a station interface without a specified reason. Signed-off-by: Ilan Peer <ilan.peer@intel.com>
This commit is contained in:
parent
8884ce03bc
commit
9b05135aa4
1 changed files with 11 additions and 0 deletions
|
@ -2485,10 +2485,21 @@ static int p2p_assoc_req_ie_wlan_ap(struct p2p_data *p2p, const u8 *bssid,
|
||||||
size_t tmplen;
|
size_t tmplen;
|
||||||
int res;
|
int res;
|
||||||
u8 group_capab;
|
u8 group_capab;
|
||||||
|
struct p2p_message msg;
|
||||||
|
|
||||||
if (p2p_ie == NULL)
|
if (p2p_ie == NULL)
|
||||||
return 0; /* WLAN AP is not a P2P manager */
|
return 0; /* WLAN AP is not a P2P manager */
|
||||||
|
|
||||||
|
os_memset(&msg, 0, sizeof(msg));
|
||||||
|
if (p2p_parse_p2p_ie(p2p_ie, &msg) < 0)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
p2p_dbg(p2p, "BSS P2P manageability %s",
|
||||||
|
msg.manageability ? "enabled" : "disabled");
|
||||||
|
|
||||||
|
if (!msg.manageability)
|
||||||
|
return 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* (Re)Association Request - P2P IE
|
* (Re)Association Request - P2P IE
|
||||||
* P2P Capability attribute (shall be present)
|
* P2P Capability attribute (shall be present)
|
||||||
|
|
Loading…
Reference in a new issue