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

Magnus Lilja lilja.magnus at gmail.com
Fri May 8 15:57:47 EDT 2009


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 at 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




More information about the linux-mtd mailing list