aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/uio/uio_pdrv_genirq.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/uio/uio_pdrv_genirq.c')
-rw-r--r--drivers/uio/uio_pdrv_genirq.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/uio/uio_pdrv_genirq.c b/drivers/uio/uio_pdrv_genirq.c
index 1f82c83a92ae..3f06818cf9fa 100644
--- a/drivers/uio/uio_pdrv_genirq.c
+++ b/drivers/uio/uio_pdrv_genirq.c
@@ -81,7 +81,8 @@ static int uio_pdrv_genirq_probe(struct platform_device *pdev)
81 goto bad0; 81 goto bad0;
82 } 82 }
83 83
84 if (uioinfo->handler || uioinfo->irqcontrol || uioinfo->irq_flags) { 84 if (uioinfo->handler || uioinfo->irqcontrol ||
85 uioinfo->irq_flags & IRQF_SHARED) {
85 dev_err(&pdev->dev, "interrupt configuration error\n"); 86 dev_err(&pdev->dev, "interrupt configuration error\n");
86 goto bad0; 87 goto bad0;
87 } 88 }
@@ -132,7 +133,7 @@ static int uio_pdrv_genirq_probe(struct platform_device *pdev)
132 * Interrupt sharing is not supported. 133 * Interrupt sharing is not supported.
133 */ 134 */
134 135
135 uioinfo->irq_flags = IRQF_DISABLED; 136 uioinfo->irq_flags |= IRQF_DISABLED;
136 uioinfo->handler = uio_pdrv_genirq_handler; 137 uioinfo->handler = uio_pdrv_genirq_handler;
137 uioinfo->irqcontrol = uio_pdrv_genirq_irqcontrol; 138 uioinfo->irqcontrol = uio_pdrv_genirq_irqcontrol;
138 uioinfo->priv = priv; 139 uioinfo->priv = priv;