--- /dev/null
+--- a/main.c
++++ b/main.c
+@@ -476,7 +476,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;
+
+- hw->flags |= IEEE80211_HW_AMPDU_AGGREGATION;
++ ieee80211_hw_set(hw, AMPDU_AGGREGATION);
+ band->ht_cap.ampdu_factor = IEEE80211_HT_MAX_AMPDU_64K;
+ band->ht_cap.ampdu_density = IEEE80211_HT_MPDU_DENSITY_4;
+
+@@ -578,12 +578,13 @@ static int mwl_wl_init(struct mwl_priv *
+ hw->queues = SYSADPT_TX_WMM_QUEUES;
+
+ /* Set rssi values to dBm */
+- hw->flags |= IEEE80211_HW_SIGNAL_DBM | IEEE80211_HW_HAS_RATE_CONTROL;
++ ieee80211_hw_set(hw, SIGNAL_DBM);
++ ieee80211_hw_set(hw, HAS_RATE_CONTROL);
+
+ /* Ask mac80211 to not to trigger PS mode
+ * based on PM bit of incoming frames.
+ */
+- hw->flags |= IEEE80211_HW_AP_LINK_PS;
++ ieee80211_hw_set(hw, AP_LINK_PS);
+
+ hw->vif_data_size = sizeof(struct mwl_vif);
+ hw->sta_data_size = sizeof(struct mwl_sta);