}
/* Used to queue up regulatory hints */
-@@ -1850,7 +1850,7 @@ static void restore_regulatory_settings(
+@@ -1125,7 +1125,9 @@ static bool is_ht40_allowed(struct ieee8
+ if (chan->flags & IEEE80211_CHAN_DISABLED)
+ return false;
+ /* This would happen when regulatory rules disallow HT40 completely */
+- return !(chan->flags & IEEE80211_CHAN_NO_HT40);
++ if ((chan->flags & IEEE80211_CHAN_NO_HT40) == IEEE80211_CHAN_NO_HT40)
++ return false;
++ return true;
+ }
+
+ static void reg_process_ht_flags_channel(struct wiphy *wiphy,
+@@ -1850,7 +1852,7 @@ static void restore_regulatory_settings(
mutex_lock(&cfg80211_mutex);
mutex_lock(®_mutex);
restore_alpha2(alpha2, reset_user);
/*
-@@ -2251,14 +2251,21 @@ int set_regdom(const struct ieee80211_re
+@@ -2251,14 +2253,21 @@ int set_regdom(const struct ieee80211_re
int reg_device_uevent(struct device *dev, struct kobj_uevent_env *env)
{
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
-@@ -1717,6 +1717,8 @@ void regulatory_hint_11d(struct wiphy *w
+@@ -1719,6 +1719,8 @@ void regulatory_hint_11d(struct wiphy *w
enum environment_cap env = ENVIRON_ANY;
struct regulatory_request *request, *lr;
mutex_lock(®_mutex);
lr = get_last_request();
-@@ -1913,6 +1915,7 @@ static void restore_regulatory_settings(
+@@ -1915,6 +1917,7 @@ static void restore_regulatory_settings(
void regulatory_hint_disconnect(void)
{
--- a/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h
+++ b/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h
-@@ -778,11 +778,11 @@ static const u32 ar9300Common_rx_gain_ta
+@@ -958,11 +958,11 @@ static const u32 ar9300Common_rx_gain_ta
{0x0000a074, 0x00000000},
{0x0000a078, 0x00000000},
{0x0000a07c, 0x00000000},