diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-06-08 16:07:28 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-06-08 16:07:28 -0400 |
commit | a20b2a44eca52818ef52a94959480b7e6ea2f528 (patch) | |
tree | 1e9fb4ee969b81978e35a59e6a16c176a8b19a29 /drivers | |
parent | 75c2d7d71a85d02594da07d5d2ad587451b64b02 (diff) |
ide: skip probe if there are no devices on the port (v2)
In ide_probe_port() skip probe if ide_port_wait_ready() returns -ENODEV
and print error message instead of debug one if it returns -EBUSY.
v2:
Fix the default 'rc' value.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers')
-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 |