瀏覽代碼

IB/qib: clean up properly if pci_set_consistent_dma_mask() fails

Clean up properly if pci_set_consistent_dma_mask() fails.

Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Jason Gunthorpe 14 年之前
父節點
當前提交
2ca78d23a7
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      drivers/infiniband/hw/qib/qib_pcie.c

+ 3 - 1
drivers/infiniband/hw/qib/qib_pcie.c

@@ -103,9 +103,11 @@ int qib_pcie_init(struct pci_dev *pdev, const struct pci_device_id *ent)
 		ret = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32));
 		ret = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32));
 	} else
 	} else
 		ret = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64));
 		ret = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64));
-	if (ret)
+	if (ret) {
 		qib_early_err(&pdev->dev,
 		qib_early_err(&pdev->dev,
 			      "Unable to set DMA consistent mask: %d\n", ret);
 			      "Unable to set DMA consistent mask: %d\n", ret);
+		goto bail;
+	}
 
 
 	pci_set_master(pdev);
 	pci_set_master(pdev);
 	ret = pci_enable_pcie_error_reporting(pdev);
 	ret = pci_enable_pcie_error_reporting(pdev);