Clang warns (or errors with CONFIG_WERROR):
sound/usb/mixer_scarlett2.c:3697:6: error: variable 'err' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
3697 | if (private->autogain_updated) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
sound/usb/mixer_scarlett2.c:3707:9: note: uninitialized use occurs here
3707 | return err;
| ^~~
sound/usb/mixer_scarlett2.c:3697:2: note: remove the 'if' if its condition is always true
3697 | if (private->autogain_updated) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/usb/mixer_scarlett2.c:3688:9: note: initialize the variable 'err' to silence this warning
3688 | int err;
| ^
| = 0
1 error generated.
Initialize ret to zero to ensure ret is initialized in all paths within
scarlett2_ag_target_ctl_get(), which matches the style of other
functions in this driver.
Fixes: e30ea5340c25 ("ALSA: scarlett2: Add autogain target controls")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Message-ID: <
20240419-alsa-scarlett2-fix-wsometimes-uninitialized-v1-1-
e2ace8642e08@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
struct usb_mixer_elem_info *elem = kctl->private_data;
struct usb_mixer_interface *mixer = elem->head.mixer;
struct scarlett2_data *private = mixer->private_data;
- int err;
+ int err = 0;
mutex_lock(&private->data_mutex);