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:
Juuso Oikarinen 2010-08-13 04:46:48 +02:00 committed by Luciano Coelho
parent 1655309745
commit 4e23b11b08
2 changed files with 2 additions and 4 deletions

View File

@ -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);
} }

View File

@ -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;