diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch
index ce766af82e6d6a834097a2b5b861ea570cb0769f..c234e9d694698d294a0eccc774bfeeefab97fbf4 100644
--- a/package/mac80211/patches/300-pending_work.patch
+++ b/package/mac80211/patches/300-pending_work.patch
@@ -296,6 +296,22 @@
  		rx_lat = MS(reg, AR_USEC_RX_LAT);
  		tx_lat = MS(reg, AR_USEC_TX_LAT);
  
+@@ -2441,13 +2450,13 @@ void ath9k_hw_set_txpowerlimit(struct at
+ 	struct ath_regulatory *regulatory = ath9k_hw_regulatory(ah);
+ 	struct ath9k_channel *chan = ah->curchan;
+ 	struct ieee80211_channel *channel = chan->chan;
+-	int reg_pwr = min_t(int, MAX_RATE_POWER, regulatory->power_limit);
++	int reg_pwr = min_t(int, MAX_RATE_POWER, limit);
+ 	int chan_pwr = channel->max_power * 2;
+ 
+ 	if (test)
+ 		reg_pwr = chan_pwr = MAX_RATE_POWER;
+ 
+-	regulatory->power_limit = min(limit, (u32) MAX_RATE_POWER);
++	regulatory->power_limit = reg_pwr;
+ 
+ 	ah->eep_ops->set_txpower(ah, chan,
+ 				 ath9k_regd_get_ctl(regulatory, chan),
 --- a/drivers/net/wireless/ath/ath9k/reg.h
 +++ b/drivers/net/wireless/ath/ath9k/reg.h
 @@ -619,6 +619,7 @@