Browse Source

iwlwifi: missing error code in iwl_trans_pcie_alloc()

We don't set the error code here so we end up returning ERR_PTR(0) which
is NULL.  The caller doesn't expect that so it results in a NULL
dereference.

Fixes: 2e5d4a8f61dc ("iwlwifi: pcie: Add new configuration to enable MSIX")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Dan Carpenter 8 năm trước cách đây
mục cha
commit
2388bd7b13
1 tập tin đã thay đổi với 2 bổ sung1 xóa
  1. 2 1
      drivers/net/wireless/intel/iwlwifi/pcie/trans.c

+ 2 - 1
drivers/net/wireless/intel/iwlwifi/pcie/trans.c

@@ -3150,7 +3150,8 @@ struct iwl_trans *iwl_trans_pcie_alloc(struct pci_dev *pdev,
 	init_waitqueue_head(&trans_pcie->d0i3_waitq);
 
 	if (trans_pcie->msix_enabled) {
-		if (iwl_pcie_init_msix_handler(pdev, trans_pcie))
+		ret = iwl_pcie_init_msix_handler(pdev, trans_pcie);
+		if (ret)
 			goto out_no_pci;
 	 } else {
 		ret = iwl_pcie_alloc_ict(trans);