[MMC] Fix chip config in wbsd
authorPierre Ossman <drzeus@drzeus.cx>
Sat, 5 Nov 2005 10:16:50 +0000 (10:16 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 5 Nov 2005 10:16:50 +0000 (10:16 +0000)
There is a broken if clause in the wbsd driver that can cause the
driver to try and configure the chip even though none is found. This
results in i/o on invalid ports.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
drivers/mmc/wbsd.c

index 942668e..ea0c4b3 100644 (file)
@@ -1852,9 +1852,9 @@ static int __devinit wbsd_init(struct device* dev, int base, int irq, int dma,
        /*
         * See if chip needs to be configured.
         */
-       if (pnp && (host->config != 0))
+       if (pnp)
        {
-               if (!wbsd_chip_validate(host))
+               if ((host->config != 0) && !wbsd_chip_validate(host))
                {
                        printk(KERN_WARNING DRIVER_NAME
                                ": PnP active but chip not configured! "