+ Dan Carpenter <[email protected]> On Thu, Jan 25, 2024 at 08:20:40AM +0100, Kurt Kanzenbach wrote: > On Wed Jan 24 2024, Simon Horman wrote: > > On Wed, Jan 24, 2024 at 09:24:08AM +0100, Kurt Kanzenbach wrote: > > > > ... > > > >> +static int igc_led_hw_control_set(struct led_classdev *led_cdev, > >> + unsigned long flags) > >> +{ > >> + struct igc_led_classdev *ldev = lcdev_to_igc_ldev(led_cdev); > >> + struct igc_adapter *adapter = netdev_priv(ldev->netdev); > >> + bool blink = false; > >> + u32 mode; > >> + > >> + if (flags & BIT(TRIGGER_NETDEV_LINK_10)) > >> + mode = IGC_LEDCTL_MODE_LINK_10; > >> + if (flags & BIT(TRIGGER_NETDEV_LINK_100)) > >> + mode = IGC_LEDCTL_MODE_LINK_100; > >> + if (flags & BIT(TRIGGER_NETDEV_LINK_1000)) > >> + mode = IGC_LEDCTL_MODE_LINK_1000; > >> + if (flags & BIT(TRIGGER_NETDEV_LINK_2500)) > >> + mode = IGC_LEDCTL_MODE_LINK_2500; > >> + if ((flags & BIT(TRIGGER_NETDEV_TX)) || > >> + (flags & BIT(TRIGGER_NETDEV_RX))) > >> + mode = IGC_LEDCTL_MODE_ACTIVITY; > > > > Hi Kurt, > > > > I guess this can't happen in practice, > > but if none of the conditions above are met, > > then mode is used uninitialised below. > > Yes, it shouldn't happen, because the supported modes are > checked. However, mode can be initialized to off to avoid the warning.
Thanks. > > Flagged by Smatch. > > Out of curiosity how did you get the warning? I usually run `make W=1 C=1 > M=...` before sending patches. Probably there is a better way, but I run Smatch like this: .../smatch/smatch_scripts/kchecker a.c Smatch can be found here: https://github.com/error27/smatch
