rtl8180: change PCI DMA mask to DMA_BIT_MASK(32) to solve "No suitable DMA available" problems on sparc64.
RFC 1/1 rtl8180: change PCI DMA mask to DMA_BIT_MASK(32) to solve "No suitable DMA available" problems on sparc64.
Hi there
I had problems to get my rtl8185 PCI card running on Sparc64: I always got an error about "No suitable DMA available" followed by an error that no device could be detected. When comparing the rtl8180 driver to others I noticed that others are mostly using DMA_BIT_MASK so I changed the custom mask to DMA_BIT_MASK(32) which fixed my issue.
Cheers,
Tiziano
--- drivers/net/wireless/rtl818x/rtl8180_dev.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
drivers/net/wireless/rtl818x/rtl8180_dev.c +2 -2
@@ -850,8 +850,8 @@ static int __devinit rtl8180_probe(struct pci_dev *pdev, goto err_free_reg; } -if ((err =pci_set_dma_mask (pdev,0xFFFFFF00ULL )) || - (err =pci_set_consistent_dma_mask (pdev,0xFFFFFF00ULL ))) { +if ((err =pci_set_dma_mask (pdev,DMA_BIT_MASK (32 ))) || + (err =pci_set_consistent_dma_mask (pdev,DMA_BIT_MASK (32 )))) {printk (KERN_ERR "%s (rtl8180): No suitable DMA available\n" ,pci_name (pdev)); goto err_free_reg;
Signature · 1 line
1.6.4
From: Tiziano Müller <[email protected]>
Date: Thu, 10 Sep 2009 11:37:43 +0200
Quoted 7 lines
Hi there
I had problems to get my rtl8185 PCI card running on Sparc64: I always got an error about "No suitable DMA available" followed by an error that no device could be detected. When comparing the rtl8180 driver to others I noticed that others are mostly using
DMA_BIT_MASKso I changed the custom mask toDMA_BIT_MASK(32)which fixed my issue.
Looks correct to me.
I wonder what it was trying to achieve by clearing the low 8 bits :-)
Can I get a "Signed-off-by:" line from you for this?
Thanks,
John
Quoted 34 lines · Tiziano Müller
Hi there
I had problems to get my rtl8185 PCI card running on Sparc64: I always got an error about "No suitable DMA available" followed by an error that no device could be detected. When comparing the rtl8180 driver to others I noticed that others are mostly using
DMA_BIT_MASKso I changed the custom mask toDMA_BIT_MASK(32)which fixed my issue.Cheers,
Tiziano--- drivers/net/wireless/rtl818x/rtl8180_dev.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)drivers/net/wireless/rtl818x/rtl8180_dev.c +2
-2@@ -850,8 +850,8 @@ static int __devinit rtl8180_probe(struct pci_dev *pdev, goto err_free_reg; } -if ((err =pci_set_dma_mask (pdev,0xFFFFFF00ULL )) || - (err =pci_set_consistent_dma_mask (pdev,0xFFFFFF00ULL ))) { +if ((err =pci_set_dma_mask (pdev,DMA_BIT_MASK (32 ))) || + (err =pci_set_consistent_dma_mask (pdev,DMA_BIT_MASK (32 )))) {printk (KERN_ERR "%s (rtl8180): No suitable DMA available\n" ,pci_name (pdev)); goto err_free_reg;Signature · 1 line
1.6.4
Signature · 2 lines
John W. Linville Someday the world will need a hero, and you [email protected] might be all we have. Be ready.