Messages in this thread Patch in this message | | | Date | Mon, 06 Feb 2006 19:04:11 -0800 | From | stephen@streetfi ... | Subject | [PATCH] spi: Fix modular master driver remove and device suspend/remove |
| |
From: Stephen Street <stephen@streetfiresound.com>
Fix two problems in the spi subsystem:
1) spi subsystem core dumps when modular spi master is unloaded. 2) spi subsystem core dumps when spi slave device is suspended/resumed and module slave driver is not loaded.
Signed-off-by: Stephen Street <stephen@streetfiresound.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> ---
spi.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-)
--- 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) return 0; /* suspend will stop irqs and dma; no more i/o */ @@ -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) return 0; /* resume may restart the i/o queue */ @@ -449,7 +449,6 @@ void spi_unregister_master(struct spi_ma { (void) device_for_each_child(master->cdev.dev, NULL, __unregister); class_device_unregister(&master->cdev); - master->cdev.dev = NULL; } EXPORT_SYMBOL_GPL(spi_unregister_master); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |