From: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Date: Fri, 21 Aug 2009 20:34:15 +0000 (-0700)
Subject: iwlwifi: do not allow set tx power over channel power limit
X-Git-Tag: v2.6.32-rc1~703^2~275^2~77
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=08f2d58d0e573d13a8eb0afbb6f3122da37b9ce3;p=linux.git

iwlwifi: do not allow set tx power over channel power limit

When setting tx power in sysfs, check against max channel tx power
limit instead of IWL_TX_POWER_TARGET_POWER_MAX.

Different devices have different max tx power limit; using
IWL_TX_POWER_TARGET_POWER_MAX can excess the limitaion and give wrong
information.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
---

diff --git a/drivers/net/wireless/iwlwifi/iwl-core.c b/drivers/net/wireless/iwlwifi/iwl-core.c
index 43781dc9adfd..faafcaeae0a6 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.c
+++ b/drivers/net/wireless/iwlwifi/iwl-core.c
@@ -1708,10 +1708,10 @@ int iwl_set_tx_power(struct iwl_priv *priv, s8 tx_power, bool force)
 		return -EINVAL;
 	}
 
-	if (tx_power > IWL_TX_POWER_TARGET_POWER_MAX) {
-		IWL_WARN(priv, "Requested user TXPOWER %d above upper limit %d.\n",
-			 tx_power,
-			 IWL_TX_POWER_TARGET_POWER_MAX);
+	if (tx_power > priv->tx_power_channel_lmt) {
+		IWL_WARN(priv,
+			"Requested user TXPOWER %d above upper limit %d.\n",
+			 tx_power, priv->tx_power_channel_lmt);
 		return -EINVAL;
 	}