summary refs log tree commit diff
path: root/drivers/media/radio
diff options
context:
space:
mode:
authorFabio Estevam <fabio.estevam@freescale.com>2015-06-01 14:14:07 -0300
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-06-06 07:34:08 -0300
commit4d38cde776185a78b96f5e3a3e653450050600bd (patch)
tree2b2e73f79b7ee9e8ff78f1df3ce41aad2e081356 /drivers/media/radio
parentebbb5637558e6ff087f6f4cc74e1847bb6992f02 (diff)
downloadlinux-4d38cde776185a78b96f5e3a3e653450050600bd.tar.gz
[media] radio-si470x-i2c: Pass the IRQF_ONESHOT flag
Since commit 1c6c69525b40 ("genirq: Reject bogus threaded irq requests")
threaded IRQs without a primary handler need to be requested with
IRQF_ONESHOT, otherwise the request will fail.

So pass the IRQF_ONESHOT flag in this case.

The semantic patch that makes this change is available
in scripts/coccinelle/misc/irqf_oneshot.cocci.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media/radio')
-rw-r--r--drivers/media/radio/si470x/radio-si470x-i2c.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/media/radio/si470x/radio-si470x-i2c.c b/drivers/media/radio/si470x/radio-si470x-i2c.c
index 2a497c80c77f..49fe8453e218 100644
--- a/drivers/media/radio/si470x/radio-si470x-i2c.c
+++ b/drivers/media/radio/si470x/radio-si470x-i2c.c
@@ -421,7 +421,8 @@ static int si470x_i2c_probe(struct i2c_client *client,
 	init_waitqueue_head(&radio->read_queue);
 
 	retval = request_threaded_irq(client->irq, NULL, si470x_i2c_interrupt,
-			IRQF_TRIGGER_FALLING, DRIVER_NAME, radio);
+			IRQF_TRIGGER_FALLING | IRQF_ONESHOT, DRIVER_NAME,
+			radio);
 	if (retval) {
 		dev_err(&client->dev, "Failed to register interrupt\n");
 		goto err_rds;