ASoC: stm32: i2s: remove irqf_oneshot flag
authorOlivier Moysan <olivier.moysan@foss.st.com>
Thu, 10 Nov 2022 08:44:06 +0000 (09:44 +0100)
committerMark Brown <broonie@kernel.org>
Thu, 10 Nov 2022 17:50:52 +0000 (17:50 +0000)
The IRQF_ONESHOT flag allows to ensure that the interrupt is not
unmasked after the hard interrupt context handler has been executed
and the thread has been woken. The interrupt line is unmasked after
the thread handler function has been executed.

The STM32 I2S driver does not implement a threaded IRQ handler.
So, the IRQF_ONESHOT flag is not useful in I2S driver.
Remove this flag to allow the interrupt routine to be managed
as a thread in RT mode.

Signed-off-by: Olivier Moysan <olivier.moysan@foss.st.com>
Link: https://lore.kernel.org/r/20221110084406.287117-1-olivier.moysan@foss.st.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/stm/stm32_i2s.c

index ce7f6942308f9df6aa5a8313f11e3ae537b4046c..f3dd9f8e621cc851259a3b7cdbfdc59f6ce77b60 100644 (file)
@@ -1077,7 +1077,7 @@ static int stm32_i2s_parse_dt(struct platform_device *pdev,
        if (irq < 0)
                return irq;
 
-       ret = devm_request_irq(&pdev->dev, irq, stm32_i2s_isr, IRQF_ONESHOT,
+       ret = devm_request_irq(&pdev->dev, irq, stm32_i2s_isr, 0,
                               dev_name(&pdev->dev), i2s);
        if (ret) {
                dev_err(&pdev->dev, "irq request returned %d\n", ret);