diff options
Diffstat (limited to 'drivers/ide/ide-probe.c')
-rw-r--r-- | drivers/ide/ide-probe.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c index 28f95cb41c29..f9c2fb7d0005 100644 --- a/drivers/ide/ide-probe.c +++ b/drivers/ide/ide-probe.c | |||
@@ -702,8 +702,14 @@ static int ide_probe_port(ide_hwif_t *hwif) | |||
702 | if (irqd) | 702 | if (irqd) |
703 | disable_irq(hwif->irq); | 703 | disable_irq(hwif->irq); |
704 | 704 | ||
705 | if (ide_port_wait_ready(hwif) == -EBUSY) | 705 | rc = ide_port_wait_ready(hwif); |
706 | printk(KERN_DEBUG "%s: Wait for ready failed before probe !\n", hwif->name); | 706 | if (rc == -ENODEV) { |
707 | printk(KERN_INFO "%s: no devices on the port\n", hwif->name); | ||
708 | goto out; | ||
709 | } else if (rc == -EBUSY) | ||
710 | printk(KERN_ERR "%s: not ready before the probe\n", hwif->name); | ||
711 | else | ||
712 | rc = -ENODEV; | ||
707 | 713 | ||
708 | /* | 714 | /* |
709 | * Second drive should only exist if first drive was found, | 715 | * Second drive should only exist if first drive was found, |
@@ -714,7 +720,7 @@ static int ide_probe_port(ide_hwif_t *hwif) | |||
714 | if (drive->dev_flags & IDE_DFLAG_PRESENT) | 720 | if (drive->dev_flags & IDE_DFLAG_PRESENT) |
715 | rc = 0; | 721 | rc = 0; |
716 | } | 722 | } |
717 | 723 | out: | |
718 | /* | 724 | /* |
719 | * Use cached IRQ number. It might be (and is...) changed by probe | 725 | * Use cached IRQ number. It might be (and is...) changed by probe |
720 | * code above | 726 | * code above |