From: Dan Carpenter Date: Mon, 17 Oct 2011 07:28:23 +0000 (+0300) Subject: ath9k_hw: min_t() casts u32 to int X-Git-Tag: v3.12-rc1~4160^2~44^2~586 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=48ef5c427ac2cfd12c150b38263d3ebb0d989647;p=kernel%2Fkernel-generic.git ath9k_hw: min_t() casts u32 to int The code here treats very large values of "limit" as less than MAX_POWER_RATE because of the cast to int. We should do the compare as u32 instead. Signed-off-by: Dan Carpenter Reviewed-by: Pavel Roskin Signed-off-by: John W. Linville --- diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c index f16d203..e1dc084 100644 --- a/drivers/net/wireless/ath/ath9k/hw.c +++ b/drivers/net/wireless/ath/ath9k/hw.c @@ -2579,7 +2579,7 @@ void ath9k_hw_set_txpowerlimit(struct ath_hw *ah, u32 limit, bool test) struct ath9k_channel *chan = ah->curchan; struct ieee80211_channel *channel = chan->chan; - reg->power_limit = min_t(int, limit, MAX_RATE_POWER); + reg->power_limit = min_t(u32, limit, MAX_RATE_POWER); if (test) channel->max_power = MAX_RATE_POWER / 2;