Commit da3b1486 authored by Tian Tao's avatar Tian Tao Committed by Ulf Hansson

mmc: s3cmci: move to use request_irq by IRQF_NO_AUTOEN flag

disable_irq() after request_irq() still has a time gap in which interrupts
can come. request_irq() with IRQF_NO_AUTOEN flag will disable IRQ
auto-enable because of requesting.
Signed-off-by: default avatarTian Tao <tiantao6@hisilicon.com>
Link: https://lore.kernel.org/r/1617765339-28946-1-git-send-email-tiantao6@hisilicon.comSigned-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent 009c9aa5
...@@ -1578,17 +1578,12 @@ static int s3cmci_probe(struct platform_device *pdev) ...@@ -1578,17 +1578,12 @@ static int s3cmci_probe(struct platform_device *pdev)
goto probe_iounmap; goto probe_iounmap;
} }
if (request_irq(host->irq, s3cmci_irq, 0, DRIVER_NAME, host)) { if (request_irq(host->irq, s3cmci_irq, IRQF_NO_AUTOEN, DRIVER_NAME, host)) {
dev_err(&pdev->dev, "failed to request mci interrupt.\n"); dev_err(&pdev->dev, "failed to request mci interrupt.\n");
ret = -ENOENT; ret = -ENOENT;
goto probe_iounmap; goto probe_iounmap;
} }
/* We get spurious interrupts even when we have set the IMSK
* register to ignore everything, so use disable_irq() to make
* ensure we don't lock the system with un-serviceable requests. */
disable_irq(host->irq);
host->irq_state = false; host->irq_state = false;
/* Depending on the dma state, get a DMA channel to use. */ /* Depending on the dma state, get a DMA channel to use. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment