--- a/main.c
+++ b/main.c
@@ -418,11 +418,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;
 
@@ -524,29 +520,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;
 
--- a/dev.h
+++ b/dev.h
@@ -484,10 +484,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
@@ -572,19 +572,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);
