diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-02-01 17:09:34 -0500 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-02-01 17:09:34 -0500 |
commit | cf7125ae05e5ac671eec2508656816bbc0a8c723 (patch) | |
tree | c6b6c7d6155c1dabf775f9234ffc0f587aecf984 /drivers/ide/ide-probe.c | |
parent | 76166952bbc81dda1c8a8c14e75a2aa06f6c052c (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>
Diffstat (limited to 'drivers/ide/ide-probe.c')
-rw-r--r-- | drivers/ide/ide-probe.c | 13 |
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 | } |