Hi Fabio On Fri, Jun 18, 2021 at 7:21 PM Fabio Estevam <festevam@xxxxxxxxx> wrote: > > 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? ok, I will add it. > > > + 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? No, as you said below, the interrupts are enabled in fsl_xcvr_prepare(). so this change should not block anything. > > I see that the interrupts are currently enabled inside fsl_xcvr_prepare().