From 0cc1acc72364d72e8cae56ad6eea797bad00e3c5 Mon Sep 17 00:00:00 2001 From: Nathan Chancellor Date: Mon, 31 Jan 2022 17:23:38 -0700 Subject: [PATCH] media: bcm2835-unicam: Set ret on error path in unicam_async_complete() Clang warns: drivers/media/platform/bcm2835/bcm2835-unicam.c:3109:6: warning: variable 'ret' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] if (!source_pads) { ^~~~~~~~~~~~ drivers/media/platform/bcm2835/bcm2835-unicam.c:3152:9: note: uninitialized use occurs here return ret; ^~~ drivers/media/platform/bcm2835/bcm2835-unicam.c:3109:2: note: remove the 'if' if its condition is always false if (!source_pads) { ^~~~~~~~~~~~~~~~~~~ drivers/media/platform/bcm2835/bcm2835-unicam.c:3091:9: note: initialize the variable 'ret' to silence this warning int ret; ^ = 0 1 warning generated. When the if condition is true, ret will be used uninitialized, which could result in undesirable behavior. Set ret to -ENODEV on the error path, which is a standard error code for the ->complete() callback. Fixes: d056e86eb35f ("media/bcm2835-unicam: Parse pad numbers correctly") Signed-off-by: Nathan Chancellor --- drivers/media/platform/bcm2835/bcm2835-unicam.c | 1 + 1 file changed, 1 insertion(+) --- a/drivers/media/platform/bcm2835/bcm2835-unicam.c +++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c @@ -3109,6 +3109,7 @@ static int unicam_async_complete(struct } if (!source_pads) { unicam_err(unicam, "No source pads on sensor.\n"); + ret = -ENODEV; goto unregister; }