[PATCH] pmac IDE: don't release empty interfaces
authorThibaut VARENE <T-Bone@parisc-linux.org>
Fri, 18 Nov 2005 21:37:37 +0000 (22:37 +0100)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Fri, 18 Nov 2005 21:37:37 +0000 (22:37 +0100)
From: Thibaut VARENE <T-Bone@parisc-linux.org>

Cleaning up the hwif without knowing its previous state in pmac.c is a big
and potentially dangerous job, and there seems to be no generic code interface
that would provide either a way to properly release an hwif or to clean it up.

Fixes OOPS for empty PMAC interface and add-on PCI controller.

Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
drivers/ide/ppc/pmac.c

index 136911a86e84f67c3a0509a4b3bda6c8b5794029..16b28357885b38e4a534ea8664dce97e7535615a 100644 (file)
@@ -1401,20 +1401,6 @@ pmac_ide_setup_device(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif)
        /* We probe the hwif now */
        probe_hwif_init(hwif);
 
-       /* The code IDE code will have set hwif->present if we have devices attached,
-        * if we don't, the discard the interface except if we are on a media bay slot
-        */
-       if (!hwif->present && !pmif->mediabay) {
-               printk(KERN_INFO "ide%d: Bus empty, interface released.\n",
-                       hwif->index);
-               default_hwif_iops(hwif);
-               for (i = IDE_DATA_OFFSET; i <= IDE_CONTROL_OFFSET; ++i)
-                       hwif->io_ports[i] = 0;
-               hwif->chipset = ide_unknown;
-               hwif->noprobe = 1;
-               return -ENODEV;
-       }
-
        return 0;
 }