+++ /dev/null
---- a/main.c
-+++ b/main.c
-@@ -423,11 +423,7 @@ static void mwl_set_ht_caps(struct mwl_p
- band->ht_cap.cap |= IEEE80211_HT_CAP_SGI_20;
- band->ht_cap.cap |= IEEE80211_HT_CAP_SGI_40;
-
--#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0)
-- hw->flags |= IEEE80211_HW_AMPDU_AGGREGATION;
--#else
- ieee80211_hw_set(hw, AMPDU_AGGREGATION);
--#endif
- band->ht_cap.ampdu_factor = IEEE80211_HT_MAX_AMPDU_64K;
- band->ht_cap.ampdu_density = IEEE80211_HT_MPDU_DENSITY_4;
-
-@@ -563,29 +559,16 @@ static int mwl_wl_init(struct mwl_priv *
- hw->queues = SYSADPT_TX_WMM_QUEUES;
-
- /* Set rssi values to dBm */
--#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0)
-- hw->flags |= IEEE80211_HW_SIGNAL_DBM | IEEE80211_HW_HAS_RATE_CONTROL;
--#else
- ieee80211_hw_set(hw, SIGNAL_DBM);
- ieee80211_hw_set(hw, HAS_RATE_CONTROL);
--#endif
-
- /* Ask mac80211 not to trigger PS mode
- * based on PM bit of incoming frames.
- */
--#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0)
-- hw->flags |= IEEE80211_HW_AP_LINK_PS;
--#else
- ieee80211_hw_set(hw, AP_LINK_PS);
--#endif
-
--#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0)
-- hw->flags |= IEEE80211_HW_SUPPORTS_PER_STA_GTK |
-- IEEE80211_HW_MFP_CAPABLE;
--#else
- ieee80211_hw_set(hw, SUPPORTS_PER_STA_GTK);
- ieee80211_hw_set(hw, MFP_CAPABLE);
--#endif
-
- hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN;
- hw->wiphy->flags |= WIPHY_FLAG_HAS_CHANNEL_SWITCH;
---- a/dev.h
-+++ b/dev.h
-@@ -506,10 +506,6 @@ static inline struct mwl_sta *mwl_dev_ge
- return (struct mwl_sta *)&sta->drv_priv;
- }
-
--#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0)
--#define ether_addr_copy(dst, src) memcpy(dst, src, ETH_ALEN)
--#endif
--
- /* Defined in mac80211.c. */
- extern const struct ieee80211_ops mwl_mac80211_ops;
-
---- a/mac80211.c
-+++ b/mac80211.c
-@@ -598,19 +598,11 @@ static int mwl_mac80211_get_survey(struc
- return 0;
- }
-
--#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0)
--static int mwl_mac80211_ampdu_action(struct ieee80211_hw *hw,
-- struct ieee80211_vif *vif,
-- enum ieee80211_ampdu_mlme_action action,
-- struct ieee80211_sta *sta,
-- u16 tid, u16 *ssn, u8 buf_size)
--#else
- static int mwl_mac80211_ampdu_action(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif,
- enum ieee80211_ampdu_mlme_action action,
- struct ieee80211_sta *sta,
- u16 tid, u16 *ssn, u8 buf_size, bool amsdu)
--#endif
- {
- int rc = 0;
- struct mwl_priv *priv = hw->priv;
---- a/rx.c
-+++ b/rx.c
-@@ -232,10 +232,8 @@ static inline void mwl_rx_prepare_status
- status->flag |= RX_FLAG_VHT;
- if (bw == RX_RATE_INFO_HT40)
- status->flag |= RX_FLAG_40MHZ;
--#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 18, 0)
- if (bw == RX_RATE_INFO_HT80)
- status->vht_flag |= RX_VHT_FLAG_80MHZ;
--#endif
- if (gi == RX_RATE_INFO_SHORT_INTERVAL)
- status->flag |= RX_FLAG_SHORT_GI;
- status->vht_nss = (nss + 1);
+++ /dev/null
---- a/mac80211.c
-+++ b/mac80211.c
-@@ -260,12 +260,12 @@ static int mwl_mac80211_config(struct ie
- if (changed & IEEE80211_CONF_CHANGE_CHANNEL) {
- int rate = 0;
-
-- if (conf->chandef.chan->band == IEEE80211_BAND_2GHZ) {
-+ if (conf->chandef.chan->band == NL80211_BAND_2GHZ) {
- mwl_fwcmd_set_apmode(hw, AP_MODE_2_4GHZ_11AC_MIXED);
- mwl_fwcmd_set_linkadapt_cs_mode(hw,
- LINK_CS_STATE_CONSERV);
- rate = mwl_rates_24[0].hw_value;
-- } else if (conf->chandef.chan->band == IEEE80211_BAND_5GHZ) {
-+ } else if (conf->chandef.chan->band == NL80211_BAND_5GHZ) {
- mwl_fwcmd_set_apmode(hw, AP_MODE_11AC);
- mwl_fwcmd_set_linkadapt_cs_mode(hw,
- LINK_CS_STATE_AUTO);
-@@ -333,7 +333,7 @@ static void mwl_mac80211_bss_info_change
- if (idx)
- idx--;
-
-- if (hw->conf.chandef.chan->band == IEEE80211_BAND_2GHZ)
-+ if (hw->conf.chandef.chan->band == NL80211_BAND_2GHZ)
- rate = mwl_rates_24[idx].hw_value;
- else
- rate = mwl_rates_50[idx].hw_value;
-@@ -600,10 +600,13 @@ static int mwl_mac80211_get_survey(struc
-
- static int mwl_mac80211_ampdu_action(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif,
-- enum ieee80211_ampdu_mlme_action action,
-- struct ieee80211_sta *sta,
-- u16 tid, u16 *ssn, u8 buf_size, bool amsdu)
-+ struct ieee80211_ampdu_params *params)
- {
-+ enum ieee80211_ampdu_mlme_action action = params->action;
-+ struct ieee80211_sta *sta = params->sta;
-+ u16 tid = params->tid;
-+ u16 *ssn = ¶ms->ssn;
-+ u8 buf_size = params->buf_size;
- int rc = 0;
- struct mwl_priv *priv = hw->priv;
- struct mwl_ampdu_stream *stream;
---- a/fwcmd.c
-+++ b/fwcmd.c
-@@ -730,9 +730,9 @@ static int mwl_fwcmd_set_country_code(st
- bool enable = false;
-
- if (b_inf->ie_country_ptr) {
-- if (bss_conf->chandef.chan->band == IEEE80211_BAND_2GHZ)
-+ if (bss_conf->chandef.chan->band == NL80211_BAND_2GHZ)
- a_band = false;
-- else if (bss_conf->chandef.chan->band == IEEE80211_BAND_5GHZ)
-+ else if (bss_conf->chandef.chan->band == NL80211_BAND_5GHZ)
- a_band = true;
- else
- return -EINVAL;
-@@ -1075,9 +1075,9 @@ int mwl_fwcmd_max_tx_power(struct ieee80
- break;
- }
-
-- if (channel->band == IEEE80211_BAND_2GHZ)
-+ if (channel->band == NL80211_BAND_2GHZ)
- band = FREQ_BAND_2DOT4GHZ;
-- else if (channel->band == IEEE80211_BAND_5GHZ)
-+ else if (channel->band == NL80211_BAND_5GHZ)
- band = FREQ_BAND_5GHZ;
-
- switch (conf->chandef.width) {
-@@ -1161,9 +1161,9 @@ int mwl_fwcmd_tx_power(struct ieee80211_
- break;
- }
-
-- if (channel->band == IEEE80211_BAND_2GHZ)
-+ if (channel->band == NL80211_BAND_2GHZ)
- band = FREQ_BAND_2DOT4GHZ;
-- else if (channel->band == IEEE80211_BAND_5GHZ)
-+ else if (channel->band == NL80211_BAND_5GHZ)
- band = FREQ_BAND_5GHZ;
-
- switch (conf->chandef.width) {
-@@ -1354,9 +1354,9 @@ int mwl_fwcmd_set_rf_channel(struct ieee
- pcmd->action = cpu_to_le16(WL_SET);
- pcmd->curr_chnl = channel->hw_value;
-
-- if (channel->band == IEEE80211_BAND_2GHZ) {
-+ if (channel->band == NL80211_BAND_2GHZ) {
- freq_band = FREQ_BAND_2DOT4GHZ;
-- } else if (channel->band == IEEE80211_BAND_5GHZ) {
-+ } else if (channel->band == NL80211_BAND_5GHZ) {
- freq_band = FREQ_BAND_5GHZ;
- } else {
- mutex_unlock(&priv->fwcmd_mutex);
-@@ -1923,10 +1923,10 @@ int mwl_fwcmd_set_new_stn_add(struct iee
- }
- ether_addr_copy(pcmd->mac_addr, sta->addr);
-
-- if (hw->conf.chandef.chan->band == IEEE80211_BAND_2GHZ)
-- rates = sta->supp_rates[IEEE80211_BAND_2GHZ];
-+ if (hw->conf.chandef.chan->band == NL80211_BAND_2GHZ)
-+ rates = sta->supp_rates[NL80211_BAND_2GHZ];
- else
-- rates = sta->supp_rates[IEEE80211_BAND_5GHZ] << 5;
-+ rates = sta->supp_rates[NL80211_BAND_5GHZ] << 5;
- pcmd->peer_info.legacy_rate_bitmap = cpu_to_le32(rates);
-
- if (sta->ht_cap.ht_supported) {
-@@ -2097,9 +2097,9 @@ int mwl_fwcmd_set_switch_channel(struct
- if (priv->csa_active)
- return 0;
-
-- if (channel->band == IEEE80211_BAND_2GHZ)
-+ if (channel->band == NL80211_BAND_2GHZ)
- freq_band = FREQ_BAND_2DOT4GHZ;
-- else if (channel->band == IEEE80211_BAND_5GHZ)
-+ else if (channel->band == NL80211_BAND_5GHZ)
- freq_band = FREQ_BAND_5GHZ;
- else
- return -EINVAL;
---- a/main.c
-+++ b/main.c
-@@ -63,20 +63,20 @@ static struct mwl_chip_info mwl_chip_tbl
- };
-
- static const struct ieee80211_channel mwl_channels_24[] = {
-- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2412, .hw_value = 1, },
-- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2417, .hw_value = 2, },
-- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2422, .hw_value = 3, },
-- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2427, .hw_value = 4, },
-- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2432, .hw_value = 5, },
-- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2437, .hw_value = 6, },
-- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2442, .hw_value = 7, },
-- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2447, .hw_value = 8, },
-- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2452, .hw_value = 9, },
-- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2457, .hw_value = 10, },
-- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2462, .hw_value = 11, },
-- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2467, .hw_value = 12, },
-- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2472, .hw_value = 13, },
-- { .band = IEEE80211_BAND_2GHZ, .center_freq = 2484, .hw_value = 14, },
-+ { .band = NL80211_BAND_2GHZ, .center_freq = 2412, .hw_value = 1, },
-+ { .band = NL80211_BAND_2GHZ, .center_freq = 2417, .hw_value = 2, },
-+ { .band = NL80211_BAND_2GHZ, .center_freq = 2422, .hw_value = 3, },
-+ { .band = NL80211_BAND_2GHZ, .center_freq = 2427, .hw_value = 4, },
-+ { .band = NL80211_BAND_2GHZ, .center_freq = 2432, .hw_value = 5, },
-+ { .band = NL80211_BAND_2GHZ, .center_freq = 2437, .hw_value = 6, },
-+ { .band = NL80211_BAND_2GHZ, .center_freq = 2442, .hw_value = 7, },
-+ { .band = NL80211_BAND_2GHZ, .center_freq = 2447, .hw_value = 8, },
-+ { .band = NL80211_BAND_2GHZ, .center_freq = 2452, .hw_value = 9, },
-+ { .band = NL80211_BAND_2GHZ, .center_freq = 2457, .hw_value = 10, },
-+ { .band = NL80211_BAND_2GHZ, .center_freq = 2462, .hw_value = 11, },
-+ { .band = NL80211_BAND_2GHZ, .center_freq = 2467, .hw_value = 12, },
-+ { .band = NL80211_BAND_2GHZ, .center_freq = 2472, .hw_value = 13, },
-+ { .band = NL80211_BAND_2GHZ, .center_freq = 2484, .hw_value = 14, },
- };
-
- static const struct ieee80211_rate mwl_rates_24[] = {
-@@ -96,30 +96,30 @@ static const struct ieee80211_rate mwl_r
- };
-
- static const struct ieee80211_channel mwl_channels_50[] = {
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5180, .hw_value = 36, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5200, .hw_value = 40, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5220, .hw_value = 44, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5240, .hw_value = 48, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5260, .hw_value = 52, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5280, .hw_value = 56, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5300, .hw_value = 60, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5320, .hw_value = 64, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5500, .hw_value = 100, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5520, .hw_value = 104, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5540, .hw_value = 108, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5560, .hw_value = 112, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5580, .hw_value = 116, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5600, .hw_value = 120, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5620, .hw_value = 124, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5640, .hw_value = 128, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5660, .hw_value = 132, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5680, .hw_value = 136, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5700, .hw_value = 140, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5720, .hw_value = 144, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5745, .hw_value = 149, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5765, .hw_value = 153, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5785, .hw_value = 157, },
-- { .band = IEEE80211_BAND_5GHZ, .center_freq = 5805, .hw_value = 161, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5180, .hw_value = 36, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5200, .hw_value = 40, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5220, .hw_value = 44, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5240, .hw_value = 48, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5260, .hw_value = 52, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5280, .hw_value = 56, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5300, .hw_value = 60, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5320, .hw_value = 64, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5500, .hw_value = 100, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5520, .hw_value = 104, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5540, .hw_value = 108, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5560, .hw_value = 112, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5580, .hw_value = 116, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5600, .hw_value = 120, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5620, .hw_value = 124, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5640, .hw_value = 128, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5660, .hw_value = 132, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5680, .hw_value = 136, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5700, .hw_value = 140, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5720, .hw_value = 144, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5745, .hw_value = 149, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5765, .hw_value = 153, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5785, .hw_value = 157, },
-+ { .band = NL80211_BAND_5GHZ, .center_freq = 5805, .hw_value = 161, },
- };
-
- static const struct ieee80211_rate mwl_rates_50[] = {
-@@ -478,7 +478,7 @@ static void mwl_set_caps(struct mwl_priv
- BUILD_BUG_ON(sizeof(priv->rates_24) != sizeof(mwl_rates_24));
- memcpy(priv->rates_24, mwl_rates_24, sizeof(mwl_rates_24));
-
-- priv->band_24.band = IEEE80211_BAND_2GHZ;
-+ priv->band_24.band = NL80211_BAND_2GHZ;
- priv->band_24.channels = priv->channels_24;
- priv->band_24.n_channels = ARRAY_SIZE(mwl_channels_24);
- priv->band_24.bitrates = priv->rates_24;
-@@ -487,7 +487,7 @@ static void mwl_set_caps(struct mwl_priv
- mwl_set_ht_caps(priv, &priv->band_24);
- mwl_set_vht_caps(priv, &priv->band_24);
-
-- hw->wiphy->bands[IEEE80211_BAND_2GHZ] = &priv->band_24;
-+ hw->wiphy->bands[NL80211_BAND_2GHZ] = &priv->band_24;
- }
-
- /* set up band information for 5G */
-@@ -500,7 +500,7 @@ static void mwl_set_caps(struct mwl_priv
- BUILD_BUG_ON(sizeof(priv->rates_50) != sizeof(mwl_rates_50));
- memcpy(priv->rates_50, mwl_rates_50, sizeof(mwl_rates_50));
-
-- priv->band_50.band = IEEE80211_BAND_5GHZ;
-+ priv->band_50.band = NL80211_BAND_5GHZ;
- priv->band_50.channels = priv->channels_50;
- priv->band_50.n_channels = ARRAY_SIZE(mwl_channels_50);
- priv->band_50.bitrates = priv->rates_50;
-@@ -509,7 +509,7 @@ static void mwl_set_caps(struct mwl_priv
- mwl_set_ht_caps(priv, &priv->band_50);
- mwl_set_vht_caps(priv, &priv->band_50);
-
-- hw->wiphy->bands[IEEE80211_BAND_5GHZ] = &priv->band_50;
-+ hw->wiphy->bands[NL80211_BAND_5GHZ] = &priv->band_50;
- }
- }
-
---- a/rx.c
-+++ b/rx.c
-@@ -243,7 +243,7 @@ static inline void mwl_rx_prepare_status
- status->rate_idx = rt;
-
- if (pdesc->channel > BAND_24_CHANNEL_NUM) {
-- status->band = IEEE80211_BAND_5GHZ;
-+ status->band = NL80211_BAND_5GHZ;
- if ((!(status->flag & RX_FLAG_HT)) &&
- (!(status->flag & RX_FLAG_VHT))) {
- status->rate_idx -= 5;
-@@ -251,7 +251,7 @@ static inline void mwl_rx_prepare_status
- status->rate_idx = BAND_50_RATE_NUM - 1;
- }
- } else {
-- status->band = IEEE80211_BAND_2GHZ;
-+ status->band = NL80211_BAND_2GHZ;
- if ((!(status->flag & RX_FLAG_HT)) &&
- (!(status->flag & RX_FLAG_VHT))) {
- if (status->rate_idx >= BAND_24_RATE_NUM)