On Sat, 20 Apr 2024 02:25:59 +0200, Nathan Chancellor wrote:
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
Thanks, applied now.
FWIW, a lot of the functions that end in just 'mutex_unlock()' before returning could probably benefit from the cleanup.h infrastructure, which would help with the scope of err in this particular function, but I decided to go with the most minimal fix here.
Yeah, we can clean up lots of such code now.
If it were a new code file, I'd suggest it, but since it was an extention of the existing code, I accepted as is.
thanks,
Takashi