const struct ieee80211_mgmt *mgmt;
u16 fc, stype;
const u8 *mmie;
- int keyid;
+ u16 keyid;
struct wlantest_bss *bss;
mgmt = (const struct ieee80211_mgmt *) data;
mmie = data + len - 16;
keyid = WPA_GET_LE16(mmie);
+ if (keyid & 0xf000) {
+ wpa_printf(MSG_INFO, "MMIE KeyID reserved bits not zero "
+ "(%04x) from " MACSTR, keyid, MAC2STR(mgmt->sa));
+ keyid &= 0x0fff;
+ }
if (keyid < 4 || keyid > 5) {
wpa_printf(MSG_INFO, "Unexpected MMIE KeyID %u from " MACSTR,
keyid, MAC2STR(mgmt->sa));