Parcourir la source

iwlwifi: release IRQ in error path

smatch correctly complains:
iwl-trans-pcie.c +1528 iwl_trans_pcie_start_hw(50) warn: 'trans->irq' was not released on error

Fix it.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi W Guy <wey-yi.w.guy@intel.com>
Johannes Berg il y a 13 ans
Parent
commit
f057ac4ed7
1 fichiers modifiés avec 3 ajouts et 1 suppressions
  1. 3 1
      drivers/net/wireless/iwlwifi/iwl-trans-pcie.c

+ 3 - 1
drivers/net/wireless/iwlwifi/iwl-trans-pcie.c

@@ -1504,7 +1504,7 @@ static int iwl_trans_pcie_start_hw(struct iwl_trans *trans)
 	err = iwl_prepare_card_hw(trans);
 	if (err) {
 		IWL_ERR(trans, "Error while preparing HW: %d", err);
-		goto error;
+		goto err_free_irq;
 	}
 
 	iwl_apm_init(trans);
@@ -1522,6 +1522,8 @@ static int iwl_trans_pcie_start_hw(struct iwl_trans *trans)
 
 	return err;
 
+err_free_irq:
+	free_irq(trans->irq, trans);
 error:
 	iwl_free_isr_ict(trans);
 	tasklet_kill(&trans_pcie->irq_tasklet);