|
@@ -1203,15 +1203,11 @@ static void ieee80211_rx_mgmt_assoc_resp(struct net_device *dev,
|
|
|
capab_info = le16_to_cpu(mgmt->u.assoc_resp.capab_info);
|
|
|
status_code = le16_to_cpu(mgmt->u.assoc_resp.status_code);
|
|
|
aid = le16_to_cpu(mgmt->u.assoc_resp.aid);
|
|
|
- if ((aid & (BIT(15) | BIT(14))) != (BIT(15) | BIT(14)))
|
|
|
- printk(KERN_DEBUG "%s: invalid aid value %d; bits 15:14 not "
|
|
|
- "set\n", dev->name, aid);
|
|
|
- aid &= ~(BIT(15) | BIT(14));
|
|
|
|
|
|
printk(KERN_DEBUG "%s: RX %sssocResp from %s (capab=0x%x "
|
|
|
"status=%d aid=%d)\n",
|
|
|
dev->name, reassoc ? "Rea" : "A", print_mac(mac, mgmt->sa),
|
|
|
- capab_info, status_code, aid);
|
|
|
+ capab_info, status_code, aid & ~(BIT(15) | BIT(14)));
|
|
|
|
|
|
if (status_code != WLAN_STATUS_SUCCESS) {
|
|
|
printk(KERN_DEBUG "%s: AP denied association (code=%d)\n",
|
|
@@ -1223,6 +1219,11 @@ static void ieee80211_rx_mgmt_assoc_resp(struct net_device *dev,
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ if ((aid & (BIT(15) | BIT(14))) != (BIT(15) | BIT(14)))
|
|
|
+ printk(KERN_DEBUG "%s: invalid aid value %d; bits 15:14 not "
|
|
|
+ "set\n", dev->name, aid);
|
|
|
+ aid &= ~(BIT(15) | BIT(14));
|
|
|
+
|
|
|
pos = mgmt->u.assoc_resp.variable;
|
|
|
if (ieee802_11_parse_elems(pos, len - (pos - (u8 *) mgmt), &elems)
|
|
|
== ParseFailed) {
|