aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-07-24 16:53:11 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-07-24 16:53:11 -0400
commit708e5f9eb68589b87724af3f0fb4e681dfdfd69f (patch)
tree4eb7fe870fe0b0d0df93a62fb6fefdb5ab45154c /drivers/ide
parent338b9bb3adac0d2c5a1e180491d9b001d624c402 (diff)
ide: always call ->init_chipset method in do_ide_setup_pci_device()
Call ->init_chipset method also for 'tried_config' / '!pciirq' conditions. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide')
-rw-r--r--drivers/ide/setup-pci.c24
1 files changed, 10 insertions, 14 deletions
diff --git a/drivers/ide/setup-pci.c b/drivers/ide/setup-pci.c
index b15cad58dc81..a95d51080237 100644
--- a/drivers/ide/setup-pci.c
+++ b/drivers/ide/setup-pci.c
@@ -499,20 +499,21 @@ static int do_ide_setup_pci_device(struct pci_dev *dev,
499 */ 499 */
500 pciirq = dev->irq; 500 pciirq = dev->irq;
501 501
502 /*
503 * This allows offboard ide-pci cards the enable a BIOS,
504 * verify interrupt settings of split-mirror pci-config
505 * space, place chipset into init-mode, and/or preserve
506 * an interrupt if the card is not native ide support.
507 */
508 ret = d->init_chipset ? d->init_chipset(dev, d->name) : 0;
509 if (ret < 0)
510 goto out;
511
502 /* Is it an "IDE storage" device in non-PCI mode? */ 512 /* Is it an "IDE storage" device in non-PCI mode? */
503 if ((dev->class >> 8) == PCI_CLASS_STORAGE_IDE && (dev->class & 5) != 5) { 513 if ((dev->class >> 8) == PCI_CLASS_STORAGE_IDE && (dev->class & 5) != 5) {
504 if (noisy) 514 if (noisy)
505 printk(KERN_INFO "%s: not 100%% native mode: " 515 printk(KERN_INFO "%s: not 100%% native mode: "
506 "will probe irqs later\n", d->name); 516 "will probe irqs later\n", d->name);
507 /*
508 * This allows offboard ide-pci cards the enable a BIOS,
509 * verify interrupt settings of split-mirror pci-config
510 * space, place chipset into init-mode, and/or preserve
511 * an interrupt if the card is not native ide support.
512 */
513 ret = d->init_chipset ? d->init_chipset(dev, d->name) : 0;
514 if (ret < 0)
515 goto out;
516 pciirq = ret; 517 pciirq = ret;
517 } else if (tried_config) { 518 } else if (tried_config) {
518 if (noisy) 519 if (noisy)
@@ -524,11 +525,6 @@ static int do_ide_setup_pci_device(struct pci_dev *dev,
524 d->name, pciirq); 525 d->name, pciirq);
525 pciirq = 0; 526 pciirq = 0;
526 } else { 527 } else {
527 if (d->init_chipset) {
528 ret = d->init_chipset(dev, d->name);
529 if (ret < 0)
530 goto out;
531 }
532 if (noisy) 528 if (noisy)
533 printk(KERN_INFO "%s: 100%% native mode on irq %d\n", 529 printk(KERN_INFO "%s: 100%% native mode on irq %d\n",
534 d->name, pciirq); 530 d->name, pciirq);