diff options
Diffstat (limited to 'drivers/message/i2o')
-rw-r--r-- | drivers/message/i2o/pci.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/drivers/message/i2o/pci.c b/drivers/message/i2o/pci.c index 62f1ac08332c..8287f95c8c42 100644 --- a/drivers/message/i2o/pci.c +++ b/drivers/message/i2o/pci.c | |||
@@ -320,7 +320,6 @@ static int __devinit i2o_pci_probe(struct pci_dev *pdev, | |||
320 | struct i2o_controller *c; | 320 | struct i2o_controller *c; |
321 | int rc; | 321 | int rc; |
322 | struct pci_dev *i960 = NULL; | 322 | struct pci_dev *i960 = NULL; |
323 | int enabled = pdev->is_enabled; | ||
324 | 323 | ||
325 | printk(KERN_INFO "i2o: Checking for PCI I2O controllers...\n"); | 324 | printk(KERN_INFO "i2o: Checking for PCI I2O controllers...\n"); |
326 | 325 | ||
@@ -330,12 +329,11 @@ static int __devinit i2o_pci_probe(struct pci_dev *pdev, | |||
330 | return -ENODEV; | 329 | return -ENODEV; |
331 | } | 330 | } |
332 | 331 | ||
333 | if (!enabled) | 332 | if ((rc = pci_enable_device(pdev))) { |
334 | if ((rc = pci_enable_device(pdev))) { | 333 | printk(KERN_WARNING "i2o: couldn't enable device %s\n", |
335 | printk(KERN_WARNING "i2o: couldn't enable device %s\n", | 334 | pci_name(pdev)); |
336 | pci_name(pdev)); | 335 | return rc; |
337 | return rc; | 336 | } |
338 | } | ||
339 | 337 | ||
340 | if (pci_set_dma_mask(pdev, DMA_32BIT_MASK)) { | 338 | if (pci_set_dma_mask(pdev, DMA_32BIT_MASK)) { |
341 | printk(KERN_WARNING "i2o: no suitable DMA found for %s\n", | 339 | printk(KERN_WARNING "i2o: no suitable DMA found for %s\n", |
@@ -442,8 +440,7 @@ static int __devinit i2o_pci_probe(struct pci_dev *pdev, | |||
442 | i2o_iop_free(c); | 440 | i2o_iop_free(c); |
443 | 441 | ||
444 | disable: | 442 | disable: |
445 | if (!enabled) | 443 | pci_disable_device(pdev); |
446 | pci_disable_device(pdev); | ||
447 | 444 | ||
448 | return rc; | 445 | return rc; |
449 | } | 446 | } |