forked from Minki/linux
wl1271: Release interrupt *after* releasing the driver context
The current order causes driver releasing to fail in various ways, and causes possible instability. Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com> Reviewed-by: Luciano Coelho <luciano.coelho@nokia.com> Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
This commit is contained in:
parent
1655309745
commit
4e23b11b08
@ -274,9 +274,8 @@ static void __devexit wl1271_remove(struct sdio_func *func)
|
|||||||
{
|
{
|
||||||
struct wl1271 *wl = sdio_get_drvdata(func);
|
struct wl1271 *wl = sdio_get_drvdata(func);
|
||||||
|
|
||||||
free_irq(wl->irq, wl);
|
|
||||||
|
|
||||||
wl1271_unregister_hw(wl);
|
wl1271_unregister_hw(wl);
|
||||||
|
free_irq(wl->irq, wl);
|
||||||
wl1271_free_hw(wl);
|
wl1271_free_hw(wl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -416,9 +416,8 @@ static int __devexit wl1271_remove(struct spi_device *spi)
|
|||||||
{
|
{
|
||||||
struct wl1271 *wl = dev_get_drvdata(&spi->dev);
|
struct wl1271 *wl = dev_get_drvdata(&spi->dev);
|
||||||
|
|
||||||
free_irq(wl->irq, wl);
|
|
||||||
|
|
||||||
wl1271_unregister_hw(wl);
|
wl1271_unregister_hw(wl);
|
||||||
|
free_irq(wl->irq, wl);
|
||||||
wl1271_free_hw(wl);
|
wl1271_free_hw(wl);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user