mwifiex: update BSS parameters in dump_station_info()
This enables user to check beacon interval, DTIM period, short slot time and short preamble information using "iw dev mlan0 link" command when station is in connected state. Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
2690e1bb35
commit
c4f3b9725e
@@ -557,6 +557,23 @@ mwifiex_dump_station_info(struct mwifiex_private *priv,
|
|||||||
/* bit rate is in 500 kb/s units. Convert it to 100kb/s units */
|
/* bit rate is in 500 kb/s units. Convert it to 100kb/s units */
|
||||||
sinfo->txrate.legacy = rate.rate * 5;
|
sinfo->txrate.legacy = rate.rate * 5;
|
||||||
|
|
||||||
|
if (priv->bss_mode == NL80211_IFTYPE_STATION) {
|
||||||
|
sinfo->filled |= STATION_INFO_BSS_PARAM;
|
||||||
|
sinfo->bss_param.flags = 0;
|
||||||
|
if (priv->curr_bss_params.bss_descriptor.cap_info_bitmap &
|
||||||
|
WLAN_CAPABILITY_SHORT_PREAMBLE)
|
||||||
|
sinfo->bss_param.flags |=
|
||||||
|
BSS_PARAM_FLAGS_SHORT_PREAMBLE;
|
||||||
|
if (priv->curr_bss_params.bss_descriptor.cap_info_bitmap &
|
||||||
|
WLAN_CAPABILITY_SHORT_SLOT_TIME)
|
||||||
|
sinfo->bss_param.flags |=
|
||||||
|
BSS_PARAM_FLAGS_SHORT_SLOT_TIME;
|
||||||
|
sinfo->bss_param.dtim_period =
|
||||||
|
priv->curr_bss_params.bss_descriptor.dtim_period;
|
||||||
|
sinfo->bss_param.beacon_interval =
|
||||||
|
priv->curr_bss_params.bss_descriptor.beacon_period;
|
||||||
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -249,6 +249,7 @@ struct mwifiex_bssdescriptor {
|
|||||||
u32 channel;
|
u32 channel;
|
||||||
u32 freq;
|
u32 freq;
|
||||||
u16 beacon_period;
|
u16 beacon_period;
|
||||||
|
u8 dtim_period;
|
||||||
u8 erp_flags;
|
u8 erp_flags;
|
||||||
u32 bss_mode;
|
u32 bss_mode;
|
||||||
u8 supported_rates[MWIFIEX_SUPPORTED_RATES];
|
u8 supported_rates[MWIFIEX_SUPPORTED_RATES];
|
||||||
|
@@ -1086,6 +1086,7 @@ mwifiex_update_bss_desc_with_ie(struct mwifiex_adapter *adapter,
|
|||||||
struct ieee_types_vendor_specific *vendor_ie;
|
struct ieee_types_vendor_specific *vendor_ie;
|
||||||
const u8 wpa_oui[4] = { 0x00, 0x50, 0xf2, 0x01 };
|
const u8 wpa_oui[4] = { 0x00, 0x50, 0xf2, 0x01 };
|
||||||
const u8 wmm_oui[4] = { 0x00, 0x50, 0xf2, 0x02 };
|
const u8 wmm_oui[4] = { 0x00, 0x50, 0xf2, 0x02 };
|
||||||
|
struct ieee80211_tim_ie *tim_ie;
|
||||||
|
|
||||||
found_data_rate_ie = false;
|
found_data_rate_ie = false;
|
||||||
rate_size = 0;
|
rate_size = 0;
|
||||||
@@ -1258,6 +1259,11 @@ mwifiex_update_bss_desc_with_ie(struct mwifiex_adapter *adapter,
|
|||||||
sizeof(struct ieee_types_header) -
|
sizeof(struct ieee_types_header) -
|
||||||
bss_entry->beacon_buf);
|
bss_entry->beacon_buf);
|
||||||
break;
|
break;
|
||||||
|
case WLAN_EID_TIM:
|
||||||
|
tim_ie = (void *) (current_ptr +
|
||||||
|
sizeof(struct ieee_types_header));
|
||||||
|
bss_entry->dtim_period = tim_ie->dtim_period;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user