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:
parent
959c014ffc
commit
c3e9b937fb
@ -997,6 +997,8 @@ static int arcmsr_set_dma_mask(struct AdapterControlBlock *acb)
|
|||||||
if (((acb->adapter_type == ACB_ADAPTER_TYPE_A) && !dma_mask_64) ||
|
if (((acb->adapter_type == ACB_ADAPTER_TYPE_A) && !dma_mask_64) ||
|
||||||
dma_set_mask(&pcidev->dev, DMA_BIT_MASK(64)))
|
dma_set_mask(&pcidev->dev, DMA_BIT_MASK(64)))
|
||||||
goto dma32;
|
goto dma32;
|
||||||
|
if (acb->adapter_type <= ACB_ADAPTER_TYPE_B)
|
||||||
|
return 0;
|
||||||
if (dma_set_coherent_mask(&pcidev->dev, DMA_BIT_MASK(64)) ||
|
if (dma_set_coherent_mask(&pcidev->dev, DMA_BIT_MASK(64)) ||
|
||||||
dma_set_mask_and_coherent(&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");
|
printk("arcmsr: set DMA 64 mask failed\n");
|
||||||
|
Loading…
Reference in New Issue
Block a user