scsi: arcmsr: Fix ADAPTER_TYPE_B 64-bit DMA compatibility issue

Fix ADAPTER_TYPE_B 64-bit DMA compatibility issue on some motherboards.

Signed-off-by: ching Huang <ching2048@areca.com.tw>
Link: https://lore.kernel.org/r/81c1f98819dfdfa18ae4d3b854b7733af9d34ea5.camel@areca.com.tw
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
ching Huang 2023-03-23 01:13:20 +08:00 committed by Martin K. Petersen
parent 959c014ffc
commit c3e9b937fb

View File

@ -997,6 +997,8 @@ static int arcmsr_set_dma_mask(struct AdapterControlBlock *acb)
if (((acb->adapter_type == ACB_ADAPTER_TYPE_A) && !dma_mask_64) ||
dma_set_mask(&pcidev->dev, DMA_BIT_MASK(64)))
goto dma32;
if (acb->adapter_type <= ACB_ADAPTER_TYPE_B)
return 0;
if (dma_set_coherent_mask(&pcidev->dev, DMA_BIT_MASK(64)) ||
dma_set_mask_and_coherent(&pcidev->dev, DMA_BIT_MASK(64))) {
printk("arcmsr: set DMA 64 mask failed\n");