Merge branch 'for-linus' of git://git.kernel.dk/linux-block
[cascardo/linux.git] / drivers / net / wireless / ath / ath9k / ar9003_phy.c
index 201425e..06c1ca6 100644 (file)
@@ -976,9 +976,14 @@ static int ar9003_hw_process_ini(struct ath_hw *ah,
        /*
         * JAPAN regulatory.
         */
-       if (chan->channel == 2484)
+       if (chan->channel == 2484) {
                ar9003_hw_prog_ini(ah, &ah->iniCckfirJapan2484, 1);
 
+               if (AR_SREV_9531(ah))
+                       REG_RMW_FIELD(ah, AR_PHY_FCAL_2_0,
+                                     AR_PHY_FLC_PWR_THRESH, 0);
+       }
+
        ah->modes_index = modesIndex;
        ar9003_hw_override_ini(ah);
        ar9003_hw_set_channel_regs(ah, chan);
@@ -2071,7 +2076,8 @@ void ar9003_hw_attach_phy_ops(struct ath_hw *ah)
  *             to be disabled.
  *
  * 0x04000409: Packet stuck on receive.
- *             Full chip reset is required for all chips except AR9340.
+ *             Full chip reset is required for all chips except
+ *            AR9340, AR9531 and AR9561.
  */
 
 /*
@@ -2100,7 +2106,7 @@ bool ar9003_hw_bb_watchdog_check(struct ath_hw *ah)
        case 0x04000b09:
                return true;
        case 0x04000409:
-               if (AR_SREV_9340(ah) || AR_SREV_9531(ah))
+               if (AR_SREV_9340(ah) || AR_SREV_9531(ah) || AR_SREV_9561(ah))
                        return false;
                else
                        return true;