| From e34309c2513a81b8670ddb98f6dde0a0b557eed0 Mon Sep 17 00:00:00 2001 |
| From: Arnd Bergmann <arnd@arndb.de> |
| Date: Fri, 22 Mar 2019 15:25:49 +0100 |
| Subject: scsi: lpfc: avoid uninitialized variable warning |
| |
| [ Upstream commit faf5a744f4f8d76e7c03912b5cd381ac8045f6ec ] |
| |
| clang -Wuninitialized incorrectly sees a variable being used without |
| initialization: |
| |
| drivers/scsi/lpfc/lpfc_nvme.c:2102:37: error: variable 'localport' is uninitialized when used here |
| [-Werror,-Wuninitialized] |
| lport = (struct lpfc_nvme_lport *)localport->private; |
| ^~~~~~~~~ |
| drivers/scsi/lpfc/lpfc_nvme.c:2059:38: note: initialize the variable 'localport' to silence this warning |
| struct nvme_fc_local_port *localport; |
| ^ |
| = NULL |
| 1 error generated. |
| |
| This is clearly in dead code, as the condition leading up to it is always |
| false when CONFIG_NVME_FC is disabled, and the variable is always |
| initialized when nvme_fc_register_localport() got called successfully. |
| |
| Change the preprocessor conditional to the equivalent C construct, which |
| makes the code more readable and gets rid of the warning. |
| |
| Signed-off-by: Arnd Bergmann <arnd@arndb.de> |
| Acked-by: James Smart <james.smart@broadcom.com> |
| Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/scsi/lpfc/lpfc_nvme.c | 8 ++++---- |
| 1 file changed, 4 insertions(+), 4 deletions(-) |
| |
| diff --git a/drivers/scsi/lpfc/lpfc_nvme.c b/drivers/scsi/lpfc/lpfc_nvme.c |
| index 1aa00d2c3f74e..9defff7118846 100644 |
| --- a/drivers/scsi/lpfc/lpfc_nvme.c |
| +++ b/drivers/scsi/lpfc/lpfc_nvme.c |
| @@ -2080,15 +2080,15 @@ lpfc_nvme_create_localport(struct lpfc_vport *vport) |
| lpfc_nvme_template.max_hw_queues = |
| phba->sli4_hba.num_present_cpu; |
| |
| + if (!IS_ENABLED(CONFIG_NVME_FC)) |
| + return ret; |
| + |
| /* localport is allocated from the stack, but the registration |
| * call allocates heap memory as well as the private area. |
| */ |
| -#if (IS_ENABLED(CONFIG_NVME_FC)) |
| + |
| ret = nvme_fc_register_localport(&nfcp_info, &lpfc_nvme_template, |
| &vport->phba->pcidev->dev, &localport); |
| -#else |
| - ret = -ENOMEM; |
| -#endif |
| if (!ret) { |
| lpfc_printf_vlog(vport, KERN_INFO, LOG_NVME | LOG_NVME_DISC, |
| "6005 Successfully registered local " |
| -- |
| 2.20.1 |
| |