iwmc3200wifi: Dont set the UMAC power limit when interface is down
authorSamuel Ortiz <sameo@linux.intel.com>
Tue, 24 Nov 2009 03:33:28 +0000 (11:33 +0800)
committerJohn W. Linville <linville@tuxdriver.com>
Sat, 28 Nov 2009 20:04:41 +0000 (15:04 -0500)
When we're down, we shouldnt try to set the UMAC power limit. We just return 0
instead, and cfg80211 toggles the soft rfkill state.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwmc3200wifi/cfg80211.c

index 2e00a4b389e64933c810413d85a460881a7eaca2..7cfc2c0a1fbc19e2af68a592ae33c04b05394439 100644 (file)
@@ -678,6 +678,9 @@ static int iwm_cfg80211_set_txpower(struct wiphy *wiphy,
        case TX_POWER_AUTOMATIC:
                return 0;
        case TX_POWER_FIXED:
+               if (!test_bit(IWM_STATUS_READY, &iwm->status))
+                       return 0;
+
                ret = iwm_umac_set_config_fix(iwm, UMAC_PARAM_TBL_CFG_FIX,
                                              CFG_TX_PWR_LIMIT_USR, dbm * 2);
                if (ret < 0)
@@ -685,6 +688,7 @@ static int iwm_cfg80211_set_txpower(struct wiphy *wiphy,
 
                return iwm_tx_power_trigger(iwm);
        default:
+               IWM_ERR(iwm, "Unsupported power type: %d\n", type);
                return -EOPNOTSUPP;
        }