scsi: stex: use dma_set_mask_and_coherent
The driver currently uses pci_set_dma_mask despite otherwise using the generic DMA API. Switch it over to the better generic DMA API. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Родитель
bddbd00cb0
Коммит
b5a4ad1db5
|
@ -1617,19 +1617,6 @@ static struct st_card_info stex_card_info[] = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static int stex_set_dma_mask(struct pci_dev * pdev)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(64))
|
|
||||||
&& !pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)))
|
|
||||||
return 0;
|
|
||||||
ret = pci_set_dma_mask(pdev, DMA_BIT_MASK(32));
|
|
||||||
if (!ret)
|
|
||||||
ret = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32));
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int stex_request_irq(struct st_hba *hba)
|
static int stex_request_irq(struct st_hba *hba)
|
||||||
{
|
{
|
||||||
struct pci_dev *pdev = hba->pdev;
|
struct pci_dev *pdev = hba->pdev;
|
||||||
|
@ -1710,7 +1697,9 @@ static int stex_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
||||||
goto out_release_regions;
|
goto out_release_regions;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = stex_set_dma_mask(pdev);
|
err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
|
||||||
|
if (err)
|
||||||
|
err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
|
||||||
if (err) {
|
if (err) {
|
||||||
printk(KERN_ERR DRV_NAME "(%s): set dma mask failed\n",
|
printk(KERN_ERR DRV_NAME "(%s): set dma mask failed\n",
|
||||||
pci_name(pdev));
|
pci_name(pdev));
|
||||||
|
|
Загрузка…
Ссылка в новой задаче