|
@@ -252,8 +252,11 @@ static irqreturn_t tegra_mc_irq(int irq, void *data)
|
|
|
unsigned int bit;
|
|
|
|
|
|
/* mask all interrupts to avoid flooding */
|
|
|
- status = mc_readl(mc, MC_INTSTATUS);
|
|
|
mask = mc_readl(mc, MC_INTMASK);
|
|
|
+ status = mc_readl(mc, MC_INTSTATUS) & mask;
|
|
|
+
|
|
|
+ if (!status)
|
|
|
+ return IRQ_NONE;
|
|
|
|
|
|
for_each_set_bit(bit, &status, 32) {
|
|
|
const char *error = status_names[bit] ?: "unknown";
|