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. > > Flagged by Smatch. Out of curiosity how did you get the warning? I usually run `make W=1 C=1 M=...` before sending patches. Thanks, Kurt
signature.asc
Description: PGP signature
