Commit 21c3ba34 authored by Amitkumar Karwar's avatar Amitkumar Karwar Committed by John W. Linville

mwifiex: use IEEE80211_HT_PARAM_CHA_SEC_* macros

Replace driver specific macros with the corresponding
IEEE80211_HT_PARAM_CHA_SEC_* macros defined in ieee80211.h.
Also, rename 'adapter->chan_offset' to 'adapter->sec_chan_offset'
for consistency.
Signed-off-by: default avatarAmitkumar Karwar <akarwar@marvell.com>
Signed-off-by: default avatarBing Zhao <bzhao@marvell.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 43906cdb
...@@ -24,26 +24,26 @@ ...@@ -24,26 +24,26 @@
* This function maps the nl802.11 channel type into driver channel type. * This function maps the nl802.11 channel type into driver channel type.
* *
* The mapping is as follows - * The mapping is as follows -
* NL80211_CHAN_NO_HT -> NO_SEC_CHANNEL * NL80211_CHAN_NO_HT -> IEEE80211_HT_PARAM_CHA_SEC_NONE
* NL80211_CHAN_HT20 -> NO_SEC_CHANNEL * NL80211_CHAN_HT20 -> IEEE80211_HT_PARAM_CHA_SEC_NONE
* NL80211_CHAN_HT40PLUS -> SEC_CHANNEL_ABOVE * NL80211_CHAN_HT40PLUS -> IEEE80211_HT_PARAM_CHA_SEC_ABOVE
* NL80211_CHAN_HT40MINUS -> SEC_CHANNEL_BELOW * NL80211_CHAN_HT40MINUS -> IEEE80211_HT_PARAM_CHA_SEC_BELOW
* Others -> NO_SEC_CHANNEL * Others -> IEEE80211_HT_PARAM_CHA_SEC_NONE
*/ */
static int static u8
mwifiex_cfg80211_channel_type_to_mwifiex_channels(enum nl80211_channel_type mwifiex_cfg80211_channel_type_to_sec_chan_offset(enum nl80211_channel_type
channel_type) channel_type)
{ {
switch (channel_type) { switch (channel_type) {
case NL80211_CHAN_NO_HT: case NL80211_CHAN_NO_HT:
case NL80211_CHAN_HT20: case NL80211_CHAN_HT20:
return NO_SEC_CHANNEL; return IEEE80211_HT_PARAM_CHA_SEC_NONE;
case NL80211_CHAN_HT40PLUS: case NL80211_CHAN_HT40PLUS:
return SEC_CHANNEL_ABOVE; return IEEE80211_HT_PARAM_CHA_SEC_ABOVE;
case NL80211_CHAN_HT40MINUS: case NL80211_CHAN_HT40MINUS:
return SEC_CHANNEL_BELOW; return IEEE80211_HT_PARAM_CHA_SEC_BELOW;
default: default:
return NO_SEC_CHANNEL; return IEEE80211_HT_PARAM_CHA_SEC_NONE;
} }
} }
...@@ -51,20 +51,20 @@ mwifiex_cfg80211_channel_type_to_mwifiex_channels(enum nl80211_channel_type ...@@ -51,20 +51,20 @@ mwifiex_cfg80211_channel_type_to_mwifiex_channels(enum nl80211_channel_type
* This function maps the driver channel type into nl802.11 channel type. * This function maps the driver channel type into nl802.11 channel type.
* *
* The mapping is as follows - * The mapping is as follows -
* NO_SEC_CHANNEL -> NL80211_CHAN_HT20 * IEEE80211_HT_PARAM_CHA_SEC_NONE -> NL80211_CHAN_HT20
* SEC_CHANNEL_ABOVE -> NL80211_CHAN_HT40PLUS * IEEE80211_HT_PARAM_CHA_SEC_ABOVE -> NL80211_CHAN_HT40PLUS
* SEC_CHANNEL_BELOW -> NL80211_CHAN_HT40MINUS * IEEE80211_HT_PARAM_CHA_SEC_BELOW -> NL80211_CHAN_HT40MINUS
* Others -> NL80211_CHAN_HT20 * Others -> NL80211_CHAN_HT20
*/ */
static enum nl80211_channel_type static enum nl80211_channel_type
mwifiex_channels_to_cfg80211_channel_type(int channel_type) mwifiex_channels_to_cfg80211_channel_type(int channel_type)
{ {
switch (channel_type) { switch (channel_type) {
case NO_SEC_CHANNEL: case IEEE80211_HT_PARAM_CHA_SEC_NONE:
return NL80211_CHAN_HT20; return NL80211_CHAN_HT20;
case SEC_CHANNEL_ABOVE: case IEEE80211_HT_PARAM_CHA_SEC_ABOVE:
return NL80211_CHAN_HT40PLUS; return NL80211_CHAN_HT40PLUS;
case SEC_CHANNEL_BELOW: case IEEE80211_HT_PARAM_CHA_SEC_BELOW:
return NL80211_CHAN_HT40MINUS; return NL80211_CHAN_HT40MINUS;
default: default:
return NL80211_CHAN_HT20; return NL80211_CHAN_HT20;
...@@ -354,15 +354,15 @@ mwifiex_set_rf_channel(struct mwifiex_private *priv, ...@@ -354,15 +354,15 @@ mwifiex_set_rf_channel(struct mwifiex_private *priv,
adapter->adhoc_11n_enabled = false; adapter->adhoc_11n_enabled = false;
} }
} }
adapter->chan_offset = adapter->sec_chan_offset =
mwifiex_cfg80211_channel_type_to_mwifiex_channels mwifiex_cfg80211_channel_type_to_sec_chan_offset
(channel_type); (channel_type);
mwifiex_send_domain_info_cmd_fw(wiphy); mwifiex_send_domain_info_cmd_fw(wiphy);
} }
wiphy_dbg(wiphy, "info: setting band %d, channel offset %d and " wiphy_dbg(wiphy, "info: setting band %d, channel offset %d and "
"mode %d\n", config_bands, adapter->chan_offset, "mode %d\n", config_bands, adapter->sec_chan_offset,
priv->bss_mode); priv->bss_mode);
if (!chan) if (!chan)
return 0; return 0;
...@@ -729,7 +729,7 @@ static int mwifiex_cfg80211_set_bitrate_mask(struct wiphy *wiphy, ...@@ -729,7 +729,7 @@ static int mwifiex_cfg80211_set_bitrate_mask(struct wiphy *wiphy,
adapter->adhoc_11n_enabled = false; adapter->adhoc_11n_enabled = false;
} }
} }
adapter->chan_offset = NO_SEC_CHANNEL; adapter->sec_chan_offset = IEEE80211_HT_PARAM_CHA_SEC_NONE;
wiphy_debug(wiphy, "info: device configured in 802.11%s%s mode\n", wiphy_debug(wiphy, "info: device configured in 802.11%s%s mode\n",
(mode & BAND_B) ? "b" : "", (mode & BAND_B) ? "b" : "",
...@@ -850,7 +850,7 @@ mwifiex_cfg80211_assoc(struct mwifiex_private *priv, size_t ssid_len, u8 *ssid, ...@@ -850,7 +850,7 @@ mwifiex_cfg80211_assoc(struct mwifiex_private *priv, size_t ssid_len, u8 *ssid,
if (channel) if (channel)
ret = mwifiex_set_rf_channel(priv, channel, ret = mwifiex_set_rf_channel(priv, channel,
mwifiex_channels_to_cfg80211_channel_type mwifiex_channels_to_cfg80211_channel_type
(priv->adapter->chan_offset)); (priv->adapter->sec_chan_offset));
ret = mwifiex_set_encode(priv, NULL, 0, 0, 1); /* Disable keys */ ret = mwifiex_set_encode(priv, NULL, 0, 0, 1); /* Disable keys */
......
...@@ -376,8 +376,6 @@ enum mwifiex_chan_scan_mode_bitmasks { ...@@ -376,8 +376,6 @@ enum mwifiex_chan_scan_mode_bitmasks {
MWIFIEX_DISABLE_CHAN_FILT = BIT(1), MWIFIEX_DISABLE_CHAN_FILT = BIT(1),
}; };
#define SECOND_CHANNEL_BELOW 0x30
#define SECOND_CHANNEL_ABOVE 0x10
struct mwifiex_chan_scan_param_set { struct mwifiex_chan_scan_param_set {
u8 radio_type; u8 radio_type;
u8 chan_number; u8 chan_number;
......
...@@ -246,7 +246,7 @@ static void mwifiex_init_adapter(struct mwifiex_adapter *adapter) ...@@ -246,7 +246,7 @@ static void mwifiex_init_adapter(struct mwifiex_adapter *adapter)
memset(adapter->event_body, 0, sizeof(adapter->event_body)); memset(adapter->event_body, 0, sizeof(adapter->event_body));
adapter->hw_dot_11n_dev_cap = 0; adapter->hw_dot_11n_dev_cap = 0;
adapter->hw_dev_mcs_support = 0; adapter->hw_dev_mcs_support = 0;
adapter->chan_offset = 0; adapter->sec_chan_offset = 0;
adapter->adhoc_11n_enabled = false; adapter->adhoc_11n_enabled = false;
mwifiex_wmm_init(adapter); mwifiex_wmm_init(adapter);
......
...@@ -62,10 +62,6 @@ enum { ...@@ -62,10 +62,6 @@ enum {
BAND_AN = 16, BAND_AN = 16,
}; };
#define NO_SEC_CHANNEL 0
#define SEC_CHANNEL_ABOVE 1
#define SEC_CHANNEL_BELOW 3
enum { enum {
ADHOC_IDLE, ADHOC_IDLE,
ADHOC_STARTED, ADHOC_STARTED,
......
...@@ -885,12 +885,14 @@ mwifiex_cmd_802_11_ad_hoc_start(struct mwifiex_private *priv, ...@@ -885,12 +885,14 @@ mwifiex_cmd_802_11_ad_hoc_start(struct mwifiex_private *priv,
= mwifiex_band_to_radio_type(priv->curr_bss_params.band); = mwifiex_band_to_radio_type(priv->curr_bss_params.band);
if (adapter->adhoc_start_band & BAND_GN if (adapter->adhoc_start_band & BAND_GN
|| adapter->adhoc_start_band & BAND_AN) { || adapter->adhoc_start_band & BAND_AN) {
if (adapter->chan_offset == SEC_CHANNEL_ABOVE) if (adapter->sec_chan_offset ==
IEEE80211_HT_PARAM_CHA_SEC_ABOVE)
chan_tlv->chan_scan_param[0].radio_type |= chan_tlv->chan_scan_param[0].radio_type |=
SECOND_CHANNEL_ABOVE; (IEEE80211_HT_PARAM_CHA_SEC_ABOVE << 4);
else if (adapter->chan_offset == SEC_CHANNEL_BELOW) else if (adapter->sec_chan_offset ==
IEEE80211_HT_PARAM_CHA_SEC_ABOVE)
chan_tlv->chan_scan_param[0].radio_type |= chan_tlv->chan_scan_param[0].radio_type |=
SECOND_CHANNEL_BELOW; (IEEE80211_HT_PARAM_CHA_SEC_BELOW << 4);
} }
dev_dbg(adapter->dev, "info: ADHOC_S_CMD: TLV Band = %d\n", dev_dbg(adapter->dev, "info: ADHOC_S_CMD: TLV Band = %d\n",
chan_tlv->chan_scan_param[0].radio_type); chan_tlv->chan_scan_param[0].radio_type);
...@@ -936,8 +938,8 @@ mwifiex_cmd_802_11_ad_hoc_start(struct mwifiex_private *priv, ...@@ -936,8 +938,8 @@ mwifiex_cmd_802_11_ad_hoc_start(struct mwifiex_private *priv,
ht_info->ht_info.control_chan = ht_info->ht_info.control_chan =
(u8) priv->curr_bss_params.bss_descriptor.channel; (u8) priv->curr_bss_params.bss_descriptor.channel;
if (adapter->chan_offset) { if (adapter->sec_chan_offset) {
ht_info->ht_info.ht_param = adapter->chan_offset; ht_info->ht_info.ht_param = adapter->sec_chan_offset;
ht_info->ht_info.ht_param |= ht_info->ht_info.ht_param |=
IEEE80211_HT_PARAM_CHAN_WIDTH_ANY; IEEE80211_HT_PARAM_CHAN_WIDTH_ANY;
} }
......
...@@ -640,7 +640,7 @@ struct mwifiex_adapter { ...@@ -640,7 +640,7 @@ struct mwifiex_adapter {
u32 hw_dot_11n_dev_cap; u32 hw_dot_11n_dev_cap;
u8 hw_dev_mcs_support; u8 hw_dev_mcs_support;
u8 adhoc_11n_enabled; u8 adhoc_11n_enabled;
u8 chan_offset; u8 sec_chan_offset;
struct mwifiex_dbg dbg; struct mwifiex_dbg dbg;
u8 arp_filter[ARP_FILTER_MAX_BUF_SIZE]; u8 arp_filter[ARP_FILTER_MAX_BUF_SIZE];
u32 arp_filter_size; u32 arp_filter_size;
......
...@@ -748,7 +748,7 @@ static int mwifiex_cmd_802_11_rf_channel(struct mwifiex_private *priv, ...@@ -748,7 +748,7 @@ static int mwifiex_cmd_802_11_rf_channel(struct mwifiex_private *priv,
cpu_to_le16(HostCmd_SCAN_RADIO_TYPE_A); cpu_to_le16(HostCmd_SCAN_RADIO_TYPE_A);
rf_type = le16_to_cpu(rf_chan->rf_type); rf_type = le16_to_cpu(rf_chan->rf_type);
SET_SECONDARYCHAN(rf_type, priv->adapter->chan_offset); SET_SECONDARYCHAN(rf_type, priv->adapter->sec_chan_offset);
rf_chan->current_channel = cpu_to_le16(*channel); rf_chan->current_channel = cpu_to_le16(*channel);
} }
rf_chan->action = cpu_to_le16(cmd_action); rf_chan->action = cpu_to_le16(cmd_action);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment