Subject: Re: [PATCH v1 iwl-next] igc: Add support for LEDs on i225/i226

From: Simon Horman <[email-masked]>
Date: Thu, 25 Jan 2024 11:53:18 +0000

+ Dan Carpenter <[email-masked]>

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