diff options
Diffstat (limited to 'drivers/net/skge.c')
-rw-r--r-- | drivers/net/skge.c | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/drivers/net/skge.c b/drivers/net/skge.c index deca5066a447..381669cc415f 100644 --- a/drivers/net/skge.c +++ b/drivers/net/skge.c | |||
@@ -3251,22 +3251,18 @@ static int __devinit skge_probe(struct pci_dev *pdev, | |||
3251 | 3251 | ||
3252 | pci_set_master(pdev); | 3252 | pci_set_master(pdev); |
3253 | 3253 | ||
3254 | if (sizeof(dma_addr_t) > sizeof(u32) && | 3254 | if (!pci_set_dma_mask(pdev, DMA_64BIT_MASK)) { |
3255 | !(err = pci_set_dma_mask(pdev, DMA_64BIT_MASK))) { | ||
3256 | using_dac = 1; | 3255 | using_dac = 1; |
3257 | err = pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK); | 3256 | err = pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK); |
3258 | if (err < 0) { | 3257 | } else if (!(err = pci_set_dma_mask(pdev, DMA_32BIT_MASK))) { |
3259 | printk(KERN_ERR PFX "%s unable to obtain 64 bit DMA " | 3258 | using_dac = 0; |
3260 | "for consistent allocations\n", pci_name(pdev)); | 3259 | err = pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK); |
3261 | goto err_out_free_regions; | 3260 | } |
3262 | } | 3261 | |
3263 | } else { | 3262 | if (err) { |
3264 | err = pci_set_dma_mask(pdev, DMA_32BIT_MASK); | 3263 | printk(KERN_ERR PFX "%s no usable DMA configuration\n", |
3265 | if (err) { | 3264 | pci_name(pdev)); |
3266 | printk(KERN_ERR PFX "%s no usable DMA configuration\n", | 3265 | goto err_out_free_regions; |
3267 | pci_name(pdev)); | ||
3268 | goto err_out_free_regions; | ||
3269 | } | ||
3270 | } | 3266 | } |
3271 | 3267 | ||
3272 | #ifdef __BIG_ENDIAN | 3268 | #ifdef __BIG_ENDIAN |