MBO: Do not parse reason_detail in non_pref_chan attr (AP)

The reason detail field was removed from non_pref_chan attr in MBO
v0.0_r25 draft. Don't parse for this element to be compliant with the
latest drafr.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
vamsi krishna 2016-09-23 18:24:13 +05:30 committed by Jouni Malinen
parent 4a83d4b686
commit 64c92c0757
2 changed files with 8 additions and 10 deletions

View File

@ -38,17 +38,16 @@ static void mbo_ap_parse_non_pref_chan(struct sta_info *sta,
size_t num_chan, i; size_t num_chan, i;
int ret; int ret;
if (len <= 4) if (len <= 3)
return; /* Not enough room for any channels */ return; /* Not enough room for any channels */
num_chan = len - 4; num_chan = len - 3;
info = os_zalloc(sizeof(*info) + num_chan); info = os_zalloc(sizeof(*info) + num_chan);
if (!info) if (!info)
return; return;
info->op_class = buf[0]; info->op_class = buf[0];
info->pref = buf[len - 3]; info->pref = buf[len - 2];
info->reason_code = buf[len - 2]; info->reason_code = buf[len - 1];
info->reason_detail = buf[len - 1];
info->num_channels = num_chan; info->num_channels = num_chan;
buf++; buf++;
os_memcpy(info->channels, buf, num_chan); os_memcpy(info->channels, buf, num_chan);
@ -75,9 +74,9 @@ static void mbo_ap_parse_non_pref_chan(struct sta_info *sta,
} }
wpa_printf(MSG_DEBUG, "MBO: STA " MACSTR wpa_printf(MSG_DEBUG, "MBO: STA " MACSTR
" non-preferred channel list (op class %u, pref %u, reason code %u, reason detail %u, channels %s)", " non-preferred channel list (op class %u, pref %u, reason code %u, channels %s)",
MAC2STR(sta->addr), info->op_class, info->pref, MAC2STR(sta->addr), info->op_class, info->pref,
info->reason_code, info->reason_detail, channels); info->reason_code, channels);
} }
@ -133,9 +132,9 @@ int mbo_ap_get_info(struct sta_info *sta, char *buf, size_t buflen)
char *pos2 = pos; char *pos2 = pos;
ret = os_snprintf(pos2, end - pos2, ret = os_snprintf(pos2, end - pos2,
"non_pref_chan[%u]=%u:%u:%u:%u:", "non_pref_chan[%u]=%u:%u:%u:",
count, info->op_class, info->pref, count, info->op_class, info->pref,
info->reason_code, info->reason_detail); info->reason_code);
count++; count++;
if (os_snprintf_error(end - pos2, ret)) if (os_snprintf_error(end - pos2, ret))
break; break;

View File

@ -52,7 +52,6 @@ struct mbo_non_pref_chan_info {
u8 op_class; u8 op_class;
u8 pref; u8 pref;
u8 reason_code; u8 reason_code;
u8 reason_detail;
u8 num_channels; u8 num_channels;
u8 channels[]; u8 channels[];
}; };