summaryrefslogtreecommitdiffstats
path: root/drivers/atm/fore200e.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/atm/fore200e.c')
-rw-r--r--drivers/atm/fore200e.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/atm/fore200e.c b/drivers/atm/fore200e.c
index d9d5a66c5..6bee2f68d 100644
--- a/drivers/atm/fore200e.c
+++ b/drivers/atm/fore200e.c
@@ -647,6 +647,9 @@ fore200e_pca_detect(const struct fore200e_bus* bus, int index)
if (pci_dev == NULL)
return NULL;
} while (count--);
+
+ if (pci_enable_device(pci_dev))
+ return NULL;
fore200e = fore200e_kmalloc(sizeof(struct fore200e), GFP_KERNEL);
if (fore200e == NULL)
@@ -655,7 +658,7 @@ fore200e_pca_detect(const struct fore200e_bus* bus, int index)
fore200e->bus = bus;
fore200e->bus_dev = pci_dev;
fore200e->irq = pci_dev->irq;
- fore200e->phys_base = (pci_dev->resource[0].start & PCI_BASE_ADDRESS_MEM_MASK);
+ fore200e->phys_base = pci_resource_start (pci_dev, 0);
#if defined(__powerpc__)
fore200e->phys_base += KERNELBASE;
@@ -663,7 +666,6 @@ fore200e_pca_detect(const struct fore200e_bus* bus, int index)
sprintf(fore200e->name, "%s-%d", bus->model_name, index - 1);
- pci_enable_device(pci_dev);
pci_set_master(pci_dev);
return fore200e;