From 09a47555be9efe636e20b69a614f051a42771864 Mon Sep 17 00:00:00 2001 From: Bartlomiej Zolnierkiewicz Date: Mon, 8 Jun 2009 22:07:28 +0200 Subject: [PATCH] --- yaml --- r: 147927 b: refs/heads/master c: a20b2a44eca52818ef52a94959480b7e6ea2f528 h: refs/heads/master i: 147925: 537719513c4c977fa104ce89365d0172d739a945 147923: 7e660f241239cddffdb35120b63b3c1ab7e72b7d 147919: 760ae25c297cc48eee22c3d62827030f78317926 v: v3 --- [refs] | 2 +- trunk/drivers/ide/ide-probe.c | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index ac4cad533fee..8ca6c97941db 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 75c2d7d71a85d02594da07d5d2ad587451b64b02 +refs/heads/master: a20b2a44eca52818ef52a94959480b7e6ea2f528 diff --git a/trunk/drivers/ide/ide-probe.c b/trunk/drivers/ide/ide-probe.c index 28f95cb41c29..f9c2fb7d0005 100644 --- a/trunk/drivers/ide/ide-probe.c +++ b/trunk/drivers/ide/ide-probe.c @@ -702,8 +702,14 @@ static int ide_probe_port(ide_hwif_t *hwif) if (irqd) disable_irq(hwif->irq); - if (ide_port_wait_ready(hwif) == -EBUSY) - printk(KERN_DEBUG "%s: Wait for ready failed before probe !\n", hwif->name); + rc = ide_port_wait_ready(hwif); + if (rc == -ENODEV) { + printk(KERN_INFO "%s: no devices on the port\n", hwif->name); + goto out; + } else if (rc == -EBUSY) + printk(KERN_ERR "%s: not ready before the probe\n", hwif->name); + else + rc = -ENODEV; /* * Second drive should only exist if first drive was found, @@ -714,7 +720,7 @@ static int ide_probe_port(ide_hwif_t *hwif) if (drive->dev_flags & IDE_DFLAG_PRESENT) rc = 0; } - +out: /* * Use cached IRQ number. It might be (and is...) changed by probe * code above