diff options
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/mvm/tt.c')
| -rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/tt.c | 8 | 
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c index f9cbd197246f..506d58104e1c 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c @@ -790,11 +790,13 @@ static int iwl_mvm_tcool_set_cur_state(struct thermal_cooling_device *cdev,  	struct iwl_mvm *mvm = (struct iwl_mvm *)(cdev->devdata);  	int ret; -	if (!mvm->ucode_loaded || !(mvm->cur_ucode == IWL_UCODE_REGULAR)) -		return -EIO; -  	mutex_lock(&mvm->mutex); +	if (!mvm->ucode_loaded || !(mvm->cur_ucode == IWL_UCODE_REGULAR)) { +		ret = -EIO; +		goto unlock; +	} +  	if (new_state >= ARRAY_SIZE(iwl_mvm_cdev_budgets)) {  		ret = -EINVAL;  		goto unlock;  |