mwifiex: advertise multichannel support to cfg80211
This patch adds support to advetise mwifiex multichannel support to cfg80211. If module parameter drcs is enabled and FW supports multichannel operation we advertise this support to cfg80211. As of now 2 simultaneous channels are supported. Signed-off-by: Avinash Patil <patila@marvell.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
d5b036c403
commit
de9e9932b7
|
@ -43,6 +43,15 @@ static const struct ieee80211_iface_combination mwifiex_iface_comb_ap_sta = {
|
|||
.beacon_int_infra_match = true,
|
||||
};
|
||||
|
||||
static const struct
|
||||
ieee80211_iface_combination mwifiex_drcs_iface_comb_ap_sta = {
|
||||
.limits = mwifiex_ap_sta_limits,
|
||||
.num_different_channels = 2,
|
||||
.n_limits = ARRAY_SIZE(mwifiex_ap_sta_limits),
|
||||
.max_interfaces = MWIFIEX_MAX_BSS_NUM,
|
||||
.beacon_int_infra_match = true,
|
||||
};
|
||||
|
||||
/*
|
||||
* This function maps the nl802.11 channel type into driver channel type.
|
||||
*
|
||||
|
@ -3745,7 +3754,10 @@ int mwifiex_register_cfg80211(struct mwifiex_adapter *adapter)
|
|||
else
|
||||
wiphy->bands[IEEE80211_BAND_5GHZ] = NULL;
|
||||
|
||||
wiphy->iface_combinations = &mwifiex_iface_comb_ap_sta;
|
||||
if (adapter->drcs_enabled && ISSUPP_DRCS_ENABLED(adapter->fw_cap_info))
|
||||
wiphy->iface_combinations = &mwifiex_drcs_iface_comb_ap_sta;
|
||||
else
|
||||
wiphy->iface_combinations = &mwifiex_iface_comb_ap_sta;
|
||||
wiphy->n_iface_combinations = 1;
|
||||
|
||||
/* Initialize cipher suits */
|
||||
|
|
|
@ -985,6 +985,7 @@ struct mwifiex_adapter {
|
|||
u8 coex_win_size;
|
||||
u8 coex_tx_win_size;
|
||||
u8 coex_rx_win_size;
|
||||
bool drcs_enabled;
|
||||
};
|
||||
|
||||
void mwifiex_process_tx_queue(struct mwifiex_adapter *adapter);
|
||||
|
|
|
@ -2155,12 +2155,17 @@ int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init)
|
|||
return -1;
|
||||
}
|
||||
|
||||
if (ISSUPP_DRCS_ENABLED(adapter->fw_cap_info))
|
||||
ret = mwifiex_send_cmd(priv, HostCmd_CMD_MC_POLICY,
|
||||
HostCmd_ACT_GEN_SET, 0, &drcs,
|
||||
true);
|
||||
if (drcs) {
|
||||
adapter->drcs_enabled = true;
|
||||
if (ISSUPP_DRCS_ENABLED(adapter->fw_cap_info))
|
||||
ret = mwifiex_send_cmd(priv,
|
||||
HostCmd_CMD_MC_POLICY,
|
||||
HostCmd_ACT_GEN_SET, 0,
|
||||
&adapter->drcs_enabled,
|
||||
true);
|
||||
if (ret)
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/* get tx rate */
|
||||
|
|
Loading…
Reference in New Issue