iwlwifi: mvm: return the actual error code when switch_vif_chanctx fails
authorLuciano Coelho <luciano.coelho@intel.com>
Mon, 10 Nov 2014 09:10:10 +0000 (11:10 +0200)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Mon, 24 Nov 2014 06:30:28 +0000 (08:30 +0200)
We have code to recover and go back to the original channel context if
something fails in the middle of switch_vif_chanctx, but we return the
error code of the recover calls instead of the original code, so if
the recovery succeeds, we will return 0 (success).  Fix this by not
assigning the return value of the recovery calls to ret.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
drivers/net/wireless/iwlwifi/mvm/mac80211.c

index 542e59f61d1c93a344c7a5db0d11b0bc69c41903..1d556173fcb66e5d2e22687042563668220b4e16 100644 (file)
@@ -2988,15 +2988,13 @@ out_remove:
        __iwl_mvm_remove_chanctx(mvm, vifs[0].new_ctx);
 
 out_reassign:
-       ret = __iwl_mvm_add_chanctx(mvm, vifs[0].old_ctx);
-       if (ret) {
+       if (__iwl_mvm_add_chanctx(mvm, vifs[0].old_ctx)) {
                IWL_ERR(mvm, "failed to add old_ctx back after failure.\n");
                goto out_restart;
        }
 
-       ret = __iwl_mvm_assign_vif_chanctx(mvm, vifs[0].vif, vifs[0].old_ctx,
-                                          true);
-       if (ret) {
+       if (__iwl_mvm_assign_vif_chanctx(mvm, vifs[0].vif, vifs[0].old_ctx,
+                                        true)) {
                IWL_ERR(mvm, "failed to reassign old_ctx after failure.\n");
                goto out_restart;
        }