P2P: Accept Invitation Response non-success without Channel List

P2P Invitation Response frame is required to include the Channel List
attribute only in Status=Success case. Skip the debug message claiming
that a mandatory attribute was not included in non-Success case.

Signed-hostap: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2013-10-20 17:22:50 +03:00
parent efd43d85bd
commit 512629aefe

View file

@ -407,7 +407,7 @@ void p2p_process_invitation_resp(struct p2p_data *p2p, const u8 *sa,
return; return;
} }
if (!msg.channel_list) { if (!msg.channel_list && *msg.status == P2P_SC_SUCCESS) {
p2p_dbg(p2p, "Mandatory Channel List attribute missing in Invitation Response from " p2p_dbg(p2p, "Mandatory Channel List attribute missing in Invitation Response from "
MACSTR, MAC2STR(sa)); MACSTR, MAC2STR(sa));
#ifdef CONFIG_P2P_STRICT #ifdef CONFIG_P2P_STRICT
@ -416,6 +416,9 @@ void p2p_process_invitation_resp(struct p2p_data *p2p, const u8 *sa,
#endif /* CONFIG_P2P_STRICT */ #endif /* CONFIG_P2P_STRICT */
/* Try to survive without peer channel list */ /* Try to survive without peer channel list */
channels = &p2p->channels; channels = &p2p->channels;
} else if (!msg.channel_list) {
/* Non-success cases are not required to include Channel List */
channels = &p2p->channels;
} else if (p2p_peer_channels_check(p2p, &p2p->channels, dev, } else if (p2p_peer_channels_check(p2p, &p2p->channels, dev,
msg.channel_list, msg.channel_list,
msg.channel_list_len) < 0) { msg.channel_list_len) < 0) {