Clang warns: drivers/scsi/hpsa.c:5964:6: warning: variable 'dev' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] if (lockup_detected(h)) { ^~~~~~~~~~~~~~~~~~ drivers/scsi/hpsa.c:6042:6: note: uninitialized use occurs here if (dev) ^~~ drivers/scsi/hpsa.c:5964:2: note: remove the 'if' if its condition is always false if (lockup_detected(h)) { ^~~~~~~~~~~~~~~~~~~~~~~~~ drivers/scsi/hpsa.c:5950:29: note: initialize the variable 'dev' to silence this warning struct hpsa_scsi_dev_t *dev; ^ = NULL 1 warning generated. dev is potentially used uninitialized in the return_reset_status block for a NULL check if the first 'if (lockup_detected(h))' is taken, as dev is initialized right after that block. Initialize dev to NULL in its declaration so that it can be safely checked within the return_reset_status block. Fixes: 14991a5bade5 ("scsi: hpsa: correct device resets") Link: https://github.com/ClangBuiltLinux/linux/issues/492 Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx> --- drivers/scsi/hpsa.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c index c560a4532733..ac8338b0571b 100644 --- a/drivers/scsi/hpsa.c +++ b/drivers/scsi/hpsa.c @@ -5947,7 +5947,7 @@ static int hpsa_eh_device_reset_handler(struct scsi_cmnd *scsicmd) int rc = SUCCESS; int i; struct ctlr_info *h; - struct hpsa_scsi_dev_t *dev; + struct hpsa_scsi_dev_t *dev = NULL; u8 reset_type; char msg[48]; unsigned long flags; -- 2.22.0.rc1