diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-07-24 16:53:11 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-07-24 16:53:11 -0400 |
commit | 708e5f9eb68589b87724af3f0fb4e681dfdfd69f (patch) | |
tree | 4eb7fe870fe0b0d0df93a62fb6fefdb5ab45154c /drivers/ide | |
parent | 338b9bb3adac0d2c5a1e180491d9b001d624c402 (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.c | 24 |
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); |