[PATCH 2/5] glamo-mci: free irq after removing host, not before

Lars-Peter Clausen lars at metafoo.de
Sat Jun 19 22:08:58 CEST 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Thibaut Girka wrote:
> ---
>  drivers/mfd/glamo/glamo-mci.c |    5 +++--
>  1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mfd/glamo/glamo-mci.c b/drivers/mfd/glamo/glamo-mci.c
> index c0c58f1..f44dfc8 100644
> --- a/drivers/mfd/glamo/glamo-mci.c
> +++ b/drivers/mfd/glamo/glamo-mci.c
> @@ -878,12 +878,13 @@ static int glamo_mci_remove(struct
platform_device *pdev)
>      struct mmc_host    *mmc = platform_get_drvdata(pdev);
>      struct glamo_mci_host *host = mmc_priv(mmc);
> 
> -    free_irq(host->irq, host);
> -
>      mmc_host_enable(mmc);
>      mmc_remove_host(mmc);
>      mmc_host_disable(mmc);
> 
> +    synchronize_irq(host->irq);
> +    free_irq(host->irq, host);
> +
>      iounmap(host->mmio_base);
>      iounmap(host->data_base);
>      release_mem_region(host->mmio_mem->start,
Hi

IMO we have to free the IRQ before we free the host. The irq handler
uses the mmc_host struct and if it kicks in after the host has been
remove we'll work on invalid data.

- - Lars
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkwdI9oACgkQBX4mSR26RiOg7gCgijvWgM+R2lYRxD85VQCMPxjq
etgAn3a1zq21bfHd5yvJmXu8T6DJd3bW
=zxSY
-----END PGP SIGNATURE-----




More information about the openmoko-kernel mailing list