On Sun, Apr 07, 2024 at 10:01:49PM +0200, Christophe JAILLET wrote: > diff --git a/drivers/thermal/mediatek/lvts_thermal.c b/drivers/thermal/mediatek/lvts_thermal.c > index 3003dc350766..b133f731c5ba 100644 > --- a/drivers/thermal/mediatek/lvts_thermal.c > +++ b/drivers/thermal/mediatek/lvts_thermal.c > @@ -204,7 +204,7 @@ static const struct debugfs_reg32 lvts_regs[] = { > > static int lvts_debugfs_init(struct device *dev, struct lvts_domain *lvts_td) > { > - struct debugfs_regset32 *regset; > + struct debugfs_regset32 *regsets; > struct lvts_ctrl *lvts_ctrl; > struct dentry *dentry; > char name[64]; > @@ -214,8 +214,14 @@ static int lvts_debugfs_init(struct device *dev, struct lvts_domain *lvts_td) > if (IS_ERR(lvts_td->dom_dentry)) > return 0; > > + regsets = devm_kcalloc(dev, lvts_td->num_lvts_ctrl, > + sizeof(*regsets), GFP_KERNEL); > + if (!regsets) > + return 0; I understand that this preserved the behavior from the original code, but the original code was wrong. This should return -ENOMEM. > + > for (i = 0; i < lvts_td->num_lvts_ctrl; i++) { > > + struct debugfs_regset32 *regset = ®sets[i]; > lvts_ctrl = &lvts_td->lvts_ctrl[i]; The blank line should come after the declaration. regards, dan carpenter