On Thu, Nov 03, 2022 at 11:25:06AM +0800, Nancy.Lin wrote: [..] > --- a/drivers/soc/mediatek/mtk-mmsys.c > +++ b/drivers/soc/mediatek/mtk-mmsys.c [..] > +static void mtk_mmsys_update_bits(struct mtk_mmsys *mmsys, u32 offset, u32 mask, u32 val) > +{ > + u32 tmp; > + > + tmp = readl_relaxed(mmsys->regs + offset); > + tmp = (tmp & ~mask) | val; You should mask the value before writing to prevent bad values from overwriting bits outside the mask. tmp = (tmp & ~mask) | (val & mask); With that, Reviewed-by: Nícolas F. R. A. Prado <nfraprado@xxxxxxxxxxxxx> Thanks, Nícolas