@@ -1411,10 +1411,16 @@ wpa_tdls_process_discovery_request(struct wpa_sm *sm, const u8 *addr,
dialog_token = buf[sizeof(struct wpa_tdls_frame)];
+ /*
+ * Some APs will tack on a weird IE to the end of a TDLS
+ * discovery request packet. This needn't fail the response,
+ * since the required IE are verified separately
+ */
if (wpa_supplicant_parse_ies(buf + sizeof(struct wpa_tdls_frame) + 1,
len - (sizeof(struct wpa_tdls_frame) + 1),
&kde) < 0)
- return -1;
+ wpa_printf(MSG_INFO,
+ "TDLS: Failed to parse IEs in Discovery Req");
if (!kde.lnkid) {
wpa_printf(MSG_DEBUG, "TDLS: Link ID not found in Discovery "