Re: [PATCH] ASoC: fsl_xcvr: disable all interrupts when suspend happens

From: Fabio Estevam
Date: Fri Jun 18 2021 - 07:20:54 EST


Hi Shengjiu,

On Fri, Jun 18, 2021 at 7:10 AM Shengjiu Wang <shengjiu.wang@xxxxxxx> wrote:
>
> There is an unhandled interrupt after suspend, which cause endless
> interrupt when system resume, so system may hang.
>
> Disable all interrupts in runtime suspend callback to avoid above
> issue.

Fixe tag?

> + ret = regmap_update_bits(xcvr->regmap, FSL_XCVR_EXT_IER0,
> + FSL_XCVR_IRQ_EARC_ALL, 0);
> + if (ret < 0)
> + dev_err(dev, "Failed to clear IER0: %d\n", ret);
> +

The operations in _suspend() are usually balanced with the ones in _resume().

Shouldn't you enable the interrupts in resume() then?

I see that the interrupts are currently enabled inside fsl_xcvr_prepare().