2015-11-25 18:26:41

by Saurabh Sengar

[permalink] [raw]
Subject: [PATCH] mmc: of_mmc_spi: Add IRQF_ONESHOT to interrupt flags

If no primary handler is specified for threaded_irq then a
default one is assigned which always returns IRQ_WAKE_THREAD.
This handler requires the IRQF_ONESHOT, because the source of
interrupt is not disabled

Signed-off-by: Saurabh Sengar <[email protected]>
---
drivers/mmc/host/of_mmc_spi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/mmc/host/of_mmc_spi.c b/drivers/mmc/host/of_mmc_spi.c
index 6e218fb..660170c 100644
--- a/drivers/mmc/host/of_mmc_spi.c
+++ b/drivers/mmc/host/of_mmc_spi.c
@@ -55,8 +55,8 @@ static int of_mmc_spi_init(struct device *dev,
{
struct of_mmc_spi *oms = to_of_mmc_spi(dev);

- return request_threaded_irq(oms->detect_irq, NULL, irqhandler, 0,
- dev_name(dev), mmc);
+ return request_threaded_irq(oms->detect_irq, NULL, irqhandler,
+ IRQF_ONESHOT, dev_name(dev), mmc);
}

static void of_mmc_spi_exit(struct device *dev, void *mmc)
--
1.9.1


2015-12-04 14:56:14

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH] mmc: of_mmc_spi: Add IRQF_ONESHOT to interrupt flags

On 25 November 2015 at 19:26, Saurabh Sengar <[email protected]> wrote:
> If no primary handler is specified for threaded_irq then a
> default one is assigned which always returns IRQ_WAKE_THREAD.
> This handler requires the IRQF_ONESHOT, because the source of
> interrupt is not disabled
>
> Signed-off-by: Saurabh Sengar <[email protected]>

Thanks, applied for next!

Kind regards
Uffe

> ---
> drivers/mmc/host/of_mmc_spi.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mmc/host/of_mmc_spi.c b/drivers/mmc/host/of_mmc_spi.c
> index 6e218fb..660170c 100644
> --- a/drivers/mmc/host/of_mmc_spi.c
> +++ b/drivers/mmc/host/of_mmc_spi.c
> @@ -55,8 +55,8 @@ static int of_mmc_spi_init(struct device *dev,
> {
> struct of_mmc_spi *oms = to_of_mmc_spi(dev);
>
> - return request_threaded_irq(oms->detect_irq, NULL, irqhandler, 0,
> - dev_name(dev), mmc);
> + return request_threaded_irq(oms->detect_irq, NULL, irqhandler,
> + IRQF_ONESHOT, dev_name(dev), mmc);
> }
>
> static void of_mmc_spi_exit(struct device *dev, void *mmc)
> --
> 1.9.1
>