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

Magnus Lilja
2009-05-08T19:57:58Z

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