Re: [PATCH] spi: Fix modular master driver remove and device suspend/remove

From: Russell King
Date: Tue Feb 07 2006 - 03:02:06 EST


On Mon, Feb 06, 2006 at 07:04:11PM -0800, stephen@xxxxxxxxxxxxxxxxxxx wrote:
> --- linux-2.6.16-rc2/drivers/spi/spi.c 2006-02-06 18:39:31.746537258 -0800
> +++ linux-spi/drivers/spi/spi.c 2006-02-06 18:39:45.353334421 -0800
> @@ -90,7 +90,7 @@ static int spi_suspend(struct device *de
> int value;
> struct spi_driver *drv = to_spi_driver(dev->driver);
>
> - if (!drv->suspend)
> + if (!drv || !drv->suspend)

Shouldn't this be dev->driver ? If dev->driver is NULL, drv may be
non-NULL due to an offset in the structure.

> @@ -105,7 +105,7 @@ static int spi_resume(struct device *dev
> int value;
> struct spi_driver *drv = to_spi_driver(dev->driver);
>
> - if (!drv->resume)
> + if (!drv || !drv->resume)

Ditto.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/