11.01.2022 21:45, Ashish Mhetre пишет: > > @@ -765,16 +768,21 @@ static int tegra_mc_probe(struct platform_device *pdev) > return err; > } > > - if (mc->soc->ops && mc->soc->ops->handle_irq) { > + if (mc->soc->interrupt_ops && mc->soc->interrupt_ops->handle_irq) { > mc->irq = platform_get_irq(pdev, 0); > if (mc->irq < 0) > return mc->irq; > > WARN(!mc->soc->client_id_mask, "missing client ID mask for this SoC\n"); > > + /* clear any mc-errs that occurred before. */ s/mc-errs/Memory Controller errors/ > + if (mc->soc->interrupt_ops->clear_interrupt) > + mc->soc->interrupt_ops->clear_interrupt(mc); There is no explanation of this change neither in the code, nor in the commit message. Please always provide detailed descriptions for a non-trivial changes. Interrupts aren't cleared intentionally by the driver, otherwise you'll never know about early-boot memory faults which happened before the probe. Hence this change is incorrect.