|
@@ -524,10 +524,16 @@ static void ath9k_hw_set_ar9287_power_per_rate_table(struct ath_hw *ah,
|
|
|
case 1:
|
|
|
break;
|
|
|
case 2:
|
|
|
- scaledPower -= REDUCE_SCALED_POWER_BY_TWO_CHAIN;
|
|
|
+ if (scaledPower > REDUCE_SCALED_POWER_BY_TWO_CHAIN)
|
|
|
+ scaledPower -= REDUCE_SCALED_POWER_BY_TWO_CHAIN;
|
|
|
+ else
|
|
|
+ scaledPower = 0;
|
|
|
break;
|
|
|
case 3:
|
|
|
- scaledPower -= REDUCE_SCALED_POWER_BY_THREE_CHAIN;
|
|
|
+ if (scaledPower > REDUCE_SCALED_POWER_BY_THREE_CHAIN)
|
|
|
+ scaledPower -= REDUCE_SCALED_POWER_BY_THREE_CHAIN;
|
|
|
+ else
|
|
|
+ scaledPower = 0;
|
|
|
break;
|
|
|
}
|
|
|
scaledPower = max((u16)0, scaledPower);
|