From: Ming Lei Date: Thu, 17 May 2012 02:27:12 +0000 (+0800) Subject: mmc: omap_hsmmc: pass IRQF_ONESHOT to request_threaded_irq X-Git-Tag: v3.5-rc1~85^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=db35f83ef47b5f180f2670d11f5f93992314ea09;p=profile%2Fivi%2Fkernel-x86-ivi.git mmc: omap_hsmmc: pass IRQF_ONESHOT to request_threaded_irq The flag of IRQF_ONESHOT should be passed to request_threaded_irq, otherwise the following failure message should be dumped because hardware handler is defined as NULL: [ 3.383483] genirq: Threaded irq requested with handler=NULL and !ONESHOT for irq 368 [ 3.392730] omap_hsmmc: probe of omap_hsmmc.0 failed with error -22 The patch fixes one kernel hang bug which is caused by mmc card probe failure and root device can't be brought up. Signed-off-by: Ming Lei Acked-by: Venkatraman S Cc: stable Signed-off-by: Chris Ball --- diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c index d15b149..a9fc714 100644 --- a/drivers/mmc/host/omap_hsmmc.c +++ b/drivers/mmc/host/omap_hsmmc.c @@ -1981,7 +1981,7 @@ static int __devinit omap_hsmmc_probe(struct platform_device *pdev) ret = request_threaded_irq(mmc_slot(host).card_detect_irq, NULL, omap_hsmmc_detect, - IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, + IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING | IRQF_ONESHOT, mmc_hostname(mmc), host); if (ret) { dev_dbg(mmc_dev(host->mmc),