[SCSI] be2iscsi : Fix DMA Out of SW-IOMMU space error
Setting DMA bit mask 64 and roll back to 32 if not supported. Signed-off-by: Minh Tran <minhduc.tran@emulex.com> Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
parent
da3349771c
commit
6c57625b3c
@ -679,8 +679,19 @@ static int beiscsi_enable_pci(struct pci_dev *pcidev)
|
||||
}
|
||||
|
||||
pci_set_master(pcidev);
|
||||
if (pci_set_consistent_dma_mask(pcidev, DMA_BIT_MASK(64))) {
|
||||
ret = pci_set_consistent_dma_mask(pcidev, DMA_BIT_MASK(32));
|
||||
ret = pci_set_dma_mask(pcidev, DMA_BIT_MASK(64));
|
||||
if (ret) {
|
||||
ret = pci_set_dma_mask(pcidev, DMA_BIT_MASK(32));
|
||||
if (ret) {
|
||||
dev_err(&pcidev->dev, "Could not set PCI DMA Mask\n");
|
||||
pci_disable_device(pcidev);
|
||||
return ret;
|
||||
} else {
|
||||
ret = pci_set_consistent_dma_mask(pcidev,
|
||||
DMA_BIT_MASK(32));
|
||||
}
|
||||
} else {
|
||||
ret = pci_set_consistent_dma_mask(pcidev, DMA_BIT_MASK(64));
|
||||
if (ret) {
|
||||
dev_err(&pcidev->dev, "Could not set PCI DMA Mask\n");
|
||||
pci_disable_device(pcidev);
|
||||
|
Loading…
Reference in New Issue
Block a user