aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-02-01 17:09:34 -0500
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-02-01 17:09:34 -0500
commitcf7125ae05e5ac671eec2508656816bbc0a8c723 (patch)
treec6b6c7d6155c1dabf775f9234ffc0f587aecf984
parent76166952bbc81dda1c8a8c14e75a2aa06f6c052c (diff)
ide: fix handling of busy I/O resources in probe_hwif()
It could be that I/O resources are busy because some other host driver has already claimed them so don't unregister the devices. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
-rw-r--r--drivers/ide/ide-probe.c13
1 files changed, 1 insertions, 12 deletions
diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c
index 21672001a8ad..873471dfb9b3 100644
--- a/drivers/ide/ide-probe.c
+++ b/drivers/ide/ide-probe.c
@@ -727,18 +727,7 @@ static void probe_hwif(ide_hwif_t *hwif)
727 727
728 if ((hwif->chipset != ide_4drives || !hwif->mate || !hwif->mate->present) && 728 if ((hwif->chipset != ide_4drives || !hwif->mate || !hwif->mate->present) &&
729 (ide_hwif_request_regions(hwif))) { 729 (ide_hwif_request_regions(hwif))) {
730 u16 msgout = 0; 730 printk(KERN_ERR "%s: ports already in use, skipping probe\n",
731 for (unit = 0; unit < MAX_DRIVES; ++unit) {
732 ide_drive_t *drive = &hwif->drives[unit];
733 if (drive->present) {
734 drive->present = 0;
735 printk(KERN_ERR "%s: ERROR, PORTS ALREADY IN USE\n",
736 drive->name);
737 msgout = 1;
738 }
739 }
740 if (!msgout)
741 printk(KERN_ERR "%s: ports already in use, skipping probe\n",
742 hwif->name); 731 hwif->name);
743 return; 732 return;
744 } 733 }