iwlwifi: mvm: check iwl_mvm_wowlan_config_key_params() return value
authorEliad Peller <eliad@wizery.com>
Sun, 15 Nov 2015 13:44:17 +0000 (15:44 +0200)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Sun, 13 Dec 2015 06:52:51 +0000 (08:52 +0200)
commit 9a4c830007817e ("iwlwifi: mvm: refactor d3 key
update functions") refactored some code into
iwl_mvm_wowlan_config_key_params() function, but the
return value was never checked, and not all the function
flows returned valid values. fix it.

Fixes: ac8ef0ce38de ("iwlwifi: mvm: refactor d3 key update functions")
Signed-off-by: Eliad Peller <eliadx.peller@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/d3.c

index 9e51843..542de74 100644 (file)
@@ -917,6 +917,7 @@ int iwl_mvm_wowlan_config_key_params(struct iwl_mvm *mvm,
                if (ret)
                        goto out;
        }
+       ret = 0;
 out:
        kfree(key_data.rsc_tsc);
        return ret;
@@ -946,8 +947,11 @@ iwl_mvm_wowlan_config(struct iwl_mvm *mvm,
                 * that isn't really a problem though.
                 */
                mutex_unlock(&mvm->mutex);
-               iwl_mvm_wowlan_config_key_params(mvm, vif, true, CMD_ASYNC);
+               ret = iwl_mvm_wowlan_config_key_params(mvm, vif, true,
+                                                      CMD_ASYNC);
                mutex_lock(&mvm->mutex);
+               if (ret)
+                       return ret;
        }
 
        ret = iwl_mvm_send_cmd_pdu(mvm, WOWLAN_CONFIGURATION, 0,