Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8a063a27 authored by Ganapathi Bhat's avatar Ganapathi Bhat Committed by Kalle Valo
Browse files

mwifiex: do not update MCS set from hostapd



We should not copy the MCS set from hostapd RX-STBC. We
have to just use the MCS set supported by the hardware.
This fixes an issue, where mwifiex is advertising wrong
MCS sets in beacons.

Fixes: 474a41e9 ("mwifiex: update MCS set as per RX-STBC bit from hostapd")
Signed-off-by: default avatarGanapathi Bhat <gbhat@marvell.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 3cb57df3
Loading
Loading
Loading
Loading
+0 −5
Original line number Original line Diff line number Diff line
@@ -247,11 +247,6 @@ enum MWIFIEX_802_11_PRIVACY_FILTER {


#define MWIFIEX_DEF_AMPDU	IEEE80211_HT_AMPDU_PARM_FACTOR
#define MWIFIEX_DEF_AMPDU	IEEE80211_HT_AMPDU_PARM_FACTOR


#define GET_RXSTBC(x) (x & IEEE80211_HT_CAP_RX_STBC)
#define MWIFIEX_RX_STBC1	0x0100
#define MWIFIEX_RX_STBC12	0x0200
#define MWIFIEX_RX_STBC123	0x0300

/* dev_cap bitmap
/* dev_cap bitmap
 * BIT
 * BIT
 * 0-16		reserved
 * 0-16		reserved
+0 −22
Original line number Original line Diff line number Diff line
@@ -160,7 +160,6 @@ mwifiex_set_ht_params(struct mwifiex_private *priv,
		      struct cfg80211_ap_settings *params)
		      struct cfg80211_ap_settings *params)
{
{
	const u8 *ht_ie;
	const u8 *ht_ie;
	u16 cap_info;


	if (!ISSUPP_11NENABLED(priv->adapter->fw_cap_info))
	if (!ISSUPP_11NENABLED(priv->adapter->fw_cap_info))
		return;
		return;
@@ -170,27 +169,6 @@ mwifiex_set_ht_params(struct mwifiex_private *priv,
	if (ht_ie) {
	if (ht_ie) {
		memcpy(&bss_cfg->ht_cap, ht_ie + 2,
		memcpy(&bss_cfg->ht_cap, ht_ie + 2,
		       sizeof(struct ieee80211_ht_cap));
		       sizeof(struct ieee80211_ht_cap));
		cap_info = le16_to_cpu(bss_cfg->ht_cap.cap_info);
		memset(&bss_cfg->ht_cap.mcs, 0,
		       priv->adapter->number_of_antenna);
		switch (GET_RXSTBC(cap_info)) {
		case MWIFIEX_RX_STBC1:
			/* HT_CAP 1X1 mode */
			bss_cfg->ht_cap.mcs.rx_mask[0] = 0xff;
			break;
		case MWIFIEX_RX_STBC12:	/* fall through */
		case MWIFIEX_RX_STBC123:
			/* HT_CAP 2X2 mode */
			bss_cfg->ht_cap.mcs.rx_mask[0] = 0xff;
			bss_cfg->ht_cap.mcs.rx_mask[1] = 0xff;
			break;
		default:
			mwifiex_dbg(priv->adapter, WARN,
				    "Unsupported RX-STBC, default to 2x2\n");
			bss_cfg->ht_cap.mcs.rx_mask[0] = 0xff;
			bss_cfg->ht_cap.mcs.rx_mask[1] = 0xff;
			break;
		}
		priv->ap_11n_enabled = 1;
		priv->ap_11n_enabled = 1;
	} else {
	} else {
		memset(&bss_cfg->ht_cap, 0, sizeof(struct ieee80211_ht_cap));
		memset(&bss_cfg->ht_cap, 0, sizeof(struct ieee80211_ht_cap));