Re: [PATCH] MXC_NAND: Add correct dev_id parameter to free_irq() calls.

Sascha Hauer
2009-05-14T07:53:13Z

Artem,

Can you pickup this one aswell?

Sascha

On Fri, May 08, 2009 at 09:57:47PM +0200, Magnus Lilja wrote:
> Make sure to pass the same dev_id data to free_irq() that was
> used when calling request_irq(), otherwise we get a warning about
> freeing an already free IRQ.
>
> Signed-off-by: Magnus Lilja <lilja.magnus@gmail.com>
> ---
>
> For -rc perhaps?
>
> Got the following warning prior to fixing this:
> WARNING: at /opt/git/linux-2.6/kernel/irq/manage.c:736 __free_irq+0x88/
> 0x1ac()
> Trying to free already-free IRQ 33
> Modules linked in: mxc_nand(-)
> [<c0025660>] (unwind_backtrace+0x0/0xd4) from [<c0036860>] (warn_slowpath+0x68/0
> x8c)
> [<c0036860>] (warn_slowpath+0x68/0x8c) from [<c0060324>] (__free_irq+0x88/0x1ac)
> [<c0060324>] (__free_irq+0x88/0x1ac) from [<c0060454>] (free_irq+0xc/0x18)
> [<c0060454>] (free_irq+0xc/0x18) from [<bf000c24>] (mxcnd_remove+0x30/0x48 [mxc_
> nand])
> unwind: Index not found bf000c24
>
> drivers/mtd/nand/mxc_nand.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c
> index f3548d0..8a93913 100644
> --- a/drivers/mtd/nand/mxc_nand.c
> +++ b/drivers/mtd/nand/mxc_nand.c
> @@ -981,7 +981,7 @@ static int __init mxcnd_probe(struct platform_device *pdev)
> return 0;
>
> escan:
> - free_irq(host->irq, NULL);
> + free_irq(host->irq, host);
> eirq:
> iounmap(host->regs);
> eres:
> @@ -1001,7 +1001,7 @@ static int __devexit mxcnd_remove(struct platform_device *pdev)
> platform_set_drvdata(pdev, NULL);
>
> nand_release(&host->mtd);
> - free_irq(host->irq, NULL);
> + free_irq(host->irq, host);
> iounmap(host->regs);
> kfree(host);
>
> --
> 1.5.6
>
>

--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |