Re: [Patch v5 2/4] memory: tegra: Add MC error logging on tegra186 onward

From: Dmitry Osipenko
Date: Sat Mar 19 2022 - 11:54:22 EST


16.03.2022 12:25, Ashish Mhetre пишет:
> +irqreturn_t tegra30_mc_handle_irq(int irq, void *data)
> {
> struct tegra_mc *mc = data;
> unsigned long status;
> + bool mc_has_channels;
> unsigned int bit;
> + int channel;

unsigned int

> + mc_has_channels = mc->soc->num_channels && mc->soc->get_int_channel;
> + if (mc_has_channels) {
> + int err;
> +
> + err = mc->soc->get_int_channel(mc, &channel);
> + if (err < 0)
> + return IRQ_NONE;
> +
> + /* mask all interrupts to avoid flooding */
> + status = mc_ch_readl(mc, channel, MC_INTSTATUS) & mc->soc->intmask;
> + } else {
> + status = mc_readl(mc, MC_INTSTATUS) & mc->soc->intmask;
> + }

So if mc_has_channels=false, while it should be true, then you're going
to handle interrupt incorrectly?