diff options
Diffstat (limited to 'drivers/misc/habanalabs/common/pci.c')
| -rw-r--r-- | drivers/misc/habanalabs/common/pci.c | 8 | 
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/misc/habanalabs/common/pci.c b/drivers/misc/habanalabs/common/pci.c index 7bd3737571f3..2770f03b6cbb 100644 --- a/drivers/misc/habanalabs/common/pci.c +++ b/drivers/misc/habanalabs/common/pci.c @@ -227,7 +227,7 @@ int hl_pci_set_inbound_region(struct hl_device *hdev, u8 region,  	}  	/* Point to the specified address */ -	rc = hl_pci_iatu_write(hdev, offset + 0x14, +	rc |= hl_pci_iatu_write(hdev, offset + 0x14,  			lower_32_bits(pci_region->addr));  	rc |= hl_pci_iatu_write(hdev, offset + 0x18,  			upper_32_bits(pci_region->addr)); @@ -369,15 +369,17 @@ int hl_pci_init(struct hl_device *hdev)  	rc = hdev->asic_funcs->init_iatu(hdev);  	if (rc) {  		dev_err(hdev->dev, "Failed to initialize iATU\n"); -		goto disable_device; +		goto unmap_pci_bars;  	}  	rc = hl_pci_set_dma_mask(hdev);  	if (rc) -		goto disable_device; +		goto unmap_pci_bars;  	return 0; +unmap_pci_bars: +	hl_pci_bars_unmap(hdev);  disable_device:  	pci_clear_master(pdev);  	pci_disable_device(pdev);  |