diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c
index 1e5ef906846f2e42dc32615058194bafa4f27a2d..417783f90fae09722d0455faa064611fdae26468 100644
--- a/drivers/ide/ide-probe.c
+++ b/drivers/ide/ide-probe.c
@@ -1248,8 +1248,9 @@ static int hwif_init(ide_hwif_t *hwif)
 {
 	int old_irq, unit;
 
+	/* Return success if no device is connected */
 	if (!hwif->present)
-		return 0;
+		return 1;
 
 	if (!hwif->irq) {
 		if (!(hwif->irq = ide_default_irq(hwif->io_ports[IDE_DATA_OFFSET])))