diff options
author | Dmitry Osipenko <digetx@gmail.com> | 2018-04-09 21:28:28 +0200 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2018-04-27 11:22:19 +0200 |
commit | db4a9c1935760c86f2d0a3612c2f6c658c5bb031 (patch) | |
tree | df0c643734700cb94a333194dc35a12472434f51 /drivers/memory | |
parent | memory: tegra: Do not handle spurious interrupts (diff) | |
download | linux-db4a9c1935760c86f2d0a3612c2f6c658c5bb031.tar.xz linux-db4a9c1935760c86f2d0a3612c2f6c658c5bb031.zip |
memory: tegra: Setup interrupts mask before requesting IRQ
This avoids unwanted interrupt during MC driver probe.
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Diffstat (limited to 'drivers/memory')
-rw-r--r-- | drivers/memory/tegra/mc.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/memory/tegra/mc.c b/drivers/memory/tegra/mc.c index d2005b995821..e55b9733bd83 100644 --- a/drivers/memory/tegra/mc.c +++ b/drivers/memory/tegra/mc.c @@ -407,14 +407,6 @@ static int tegra_mc_probe(struct platform_device *pdev) return mc->irq; } - err = devm_request_irq(&pdev->dev, mc->irq, tegra_mc_irq, IRQF_SHARED, - dev_name(&pdev->dev), mc); - if (err < 0) { - dev_err(&pdev->dev, "failed to request IRQ#%u: %d\n", mc->irq, - err); - return err; - } - WARN(!mc->soc->client_id_mask, "Missing client ID mask for this SoC\n"); value = MC_INT_DECERR_MTS | MC_INT_SECERR_SEC | MC_INT_DECERR_VPR | @@ -423,6 +415,14 @@ static int tegra_mc_probe(struct platform_device *pdev) mc_writel(mc, value, MC_INTMASK); + err = devm_request_irq(&pdev->dev, mc->irq, tegra_mc_irq, IRQF_SHARED, + dev_name(&pdev->dev), mc); + if (err < 0) { + dev_err(&pdev->dev, "failed to request IRQ#%u: %d\n", mc->irq, + err); + return err; + } + return 0; } |