Dear Simon, Thank you for reviewing, I will fix the warning in the next patch. Best regards, Ming Simon Horman <horms@xxxxxxxxxx> 於 2025年1月23日 週四 下午7:09寫道: > > On Thu, Jan 23, 2025 at 05:11:12PM +0800, Ming Yu wrote: > > This driver supports Socket CANFD functionality for NCT6694 MFD > > device based on USB interface. > > > > Signed-off-by: Ming Yu <a0282524688@xxxxxxxxx> > > ... > > > diff --git a/drivers/net/can/usb/nct6694_canfd.c b/drivers/net/can/usb/nct6694_canfd.c > > ... > > > +static int nct6694_can_get_clock(struct nct6694_can_priv *priv) > > +{ > > + struct nct6694_can_information *info; > > + struct nct6694_cmd_header cmd_hd = { > > + .mod = NCT6694_CAN_MOD, > > + .cmd = NCT6694_CAN_INFORMATION, > > + .sel = NCT6694_CAN_INFORMATION_SEL, > > + .len = cpu_to_le16(sizeof(*info)) > > + }; > > + int ret, can_clk; > > + > > + info = kzalloc(sizeof(*info), GFP_KERNEL); > > + if (!info) > > + return -ENOMEM; > > + > > + ret = nct6694_read_msg(priv->nct6694, &cmd_hd, info); > > + if (ret) > > + goto exit; > > Hi Ming Yu, > > This goto will result in the function returning can_clk. > But can_clk is not initialised until the following line. > > Flagged by W=1 builds with clang-19, and by Smatch. > > > + > > + can_clk = le32_to_cpu(info->can_clk); > > + > > +exit: > > + kfree(info); > > + return can_clk; > > +} > > ...