aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/ixgb
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-04-12 15:24:06 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-04-12 15:24:06 -0700
commit2e9f0e18678ffb2a932390e12de88b2b31c465b6 (patch)
tree88542c04904f978fe34e69cecfd5e85686c21c4d /drivers/net/ixgb
parent6762b47a74264152eeda5ac7516732fe9be265a7 (diff)
parentc91e468a48a2afd2a2b0c2e29a35d6b8c51ea682 (diff)
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: [PATCH] Use pci_set_consistent_dma_mask in ixgb driver [PATCH] sky2: bad memory reference on dual port cards [PATCH] mv643xx_eth: Fix tx_timeout to only conditionally wake tx queue [PATCH] mv643xx_eth: Always free completed tx descs on tx interrupt [PATCH] net drivers: fix section attributes for gcc [PATCH] remove drivers/net/hydra.h [PATCH] drivers/net/via-rhine.c: make a function static [netdrvr b44] trim trailing whitespace [PATCH] b44: increase version to 1.00 [PATCH] b44: disable default tx pause [PATCH] via-rhine: execute bounce buffers code on Rhine-I only [PATCH] network: axnet_cs.c: add missing 'PRIV' in ei_rx_overrun [PATCH] dlink pci cards using wrong driver
Diffstat (limited to 'drivers/net/ixgb')
-rw-r--r--drivers/net/ixgb/ixgb_main.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/net/ixgb/ixgb_main.c b/drivers/net/ixgb/ixgb_main.c
index f9f77e4f596..cfd67d812f0 100644
--- a/drivers/net/ixgb/ixgb_main.c
+++ b/drivers/net/ixgb/ixgb_main.c
@@ -357,18 +357,20 @@ ixgb_probe(struct pci_dev *pdev,
if((err = pci_enable_device(pdev)))
return err;
- if(!(err = pci_set_dma_mask(pdev, DMA_64BIT_MASK))) {
+ if(!(err = pci_set_dma_mask(pdev, DMA_64BIT_MASK)) &&
+ !(err = pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK))) {
pci_using_dac = 1;
} else {
- if((err = pci_set_dma_mask(pdev, DMA_32BIT_MASK))) {
+ if((err = pci_set_dma_mask(pdev, DMA_32BIT_MASK)) ||
+ (err = pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK))) {
IXGB_ERR("No usable DMA configuration, aborting\n");
- return err;
+ goto err_dma_mask;
}
pci_using_dac = 0;
}
if((err = pci_request_regions(pdev, ixgb_driver_name)))
- return err;
+ goto err_request_regions;
pci_set_master(pdev);
@@ -502,6 +504,9 @@ err_ioremap:
free_netdev(netdev);
err_alloc_etherdev:
pci_release_regions(pdev);
+err_request_regions:
+err_dma_mask:
+ pci_disable_device(pdev);
return err;
}