diff options
| author | James Smart <jsmart2021@gmail.com> | 2017-03-04 12:30:38 -0500 |
|---|---|---|
| committer | Martin K. Petersen <martin.petersen@oracle.com> | 2017-03-06 23:04:23 -0500 |
| commit | 2ade92ae6d6572858acb2bde6d3664af3ad592e2 (patch) | |
| tree | 31642bff26b2d0d71ed2528323cc0820e241b9bc | |
| parent | cd46cdedb3238f1f878c42650ec05c6344c7083d (diff) | |
scsi: lpfc: code cleanups in NVME initiator base
This patch addresses the smatch issues identified by Dan Carpenter
in http://www.spinics.net/lists/linux-scsi/msg105663.html
The issues are:
drivers/scsi/lpfc/lpfc_hbadisc.c:316 lpfc_dev_loss_tmo_handler()
warn: we tested 'vport->load_flag & 2' before and it was 'false'
Action: removed item from test
drivers/scsi/lpfc/lpfc_hbadisc.c:701 lpfc_work_done()
warn: test_bit() takes a bit number
Action: changed definition so bit number
drivers/scsi/lpfc/lpfc_hbadisc.c:2206 lpfc_mbx_cmpl_fcf_scan_read_fcf_rec()
error: uninitialized symbol 'vlan_id'.
drivers/scsi/lpfc/lpfc_hbadisc.c:2582 lpfc_mbx_cmpl_fcf_rr_read_fcf_rec()
error: uninitialized symbol 'vlan_id'.
drivers/scsi/lpfc/lpfc_hbadisc.c:2683 lpfc_mbx_cmpl_read_fcf_rec() error:
uninitialized symbol 'vlan_id'.
Action: initilized value
drivers/scsi/lpfc/lpfc_hbadisc.c:4025 lpfc_register_remote_port()
error: we previously assumed 'rdata' could be null (see line 4023)
Action: refactored check block
drivers/scsi/lpfc/lpfc_hbadisc.c:4613 lpfc_sli4_dequeue_nport_iocbs()
error: double unlock 'irq:'
Action: removed inner irq reference
Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
| -rw-r--r-- | drivers/scsi/lpfc/lpfc.h | 2 | ||||
| -rw-r--r-- | drivers/scsi/lpfc/lpfc_hbadisc.c | 17 |
2 files changed, 10 insertions, 9 deletions
diff --git a/drivers/scsi/lpfc/lpfc.h b/drivers/scsi/lpfc/lpfc.h index 763f32dd2d23..257bbdd0f0b8 100644 --- a/drivers/scsi/lpfc/lpfc.h +++ b/drivers/scsi/lpfc/lpfc.h | |||
| @@ -105,7 +105,7 @@ struct lpfc_sli2_slim; | |||
| 105 | #define LPFC_MSIX_VECTORS 2 | 105 | #define LPFC_MSIX_VECTORS 2 |
| 106 | 106 | ||
| 107 | /* lpfc wait event data ready flag */ | 107 | /* lpfc wait event data ready flag */ |
| 108 | #define LPFC_DATA_READY (1<<0) | 108 | #define LPFC_DATA_READY 0 /* bit 0 */ |
| 109 | 109 | ||
| 110 | /* queue dump line buffer size */ | 110 | /* queue dump line buffer size */ |
| 111 | #define LPFC_LBUF_SZ 128 | 111 | #define LPFC_LBUF_SZ 128 |
diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c index bd8635d303d2..180b072beef6 100644 --- a/drivers/scsi/lpfc/lpfc_hbadisc.c +++ b/drivers/scsi/lpfc/lpfc_hbadisc.c | |||
| @@ -313,8 +313,7 @@ lpfc_dev_loss_tmo_handler(struct lpfc_nodelist *ndlp) | |||
| 313 | ndlp->nlp_state, ndlp->nlp_rpi); | 313 | ndlp->nlp_state, ndlp->nlp_rpi); |
| 314 | } | 314 | } |
| 315 | 315 | ||
| 316 | if (!(vport->load_flag & FC_UNLOADING) && | 316 | if (!(ndlp->nlp_flag & NLP_DELAY_TMO) && |
| 317 | !(ndlp->nlp_flag & NLP_DELAY_TMO) && | ||
| 318 | !(ndlp->nlp_flag & NLP_NPR_2B_DISC) && | 317 | !(ndlp->nlp_flag & NLP_NPR_2B_DISC) && |
| 319 | (ndlp->nlp_state != NLP_STE_UNMAPPED_NODE) && | 318 | (ndlp->nlp_state != NLP_STE_UNMAPPED_NODE) && |
| 320 | (ndlp->nlp_state != NLP_STE_REG_LOGIN_ISSUE) && | 319 | (ndlp->nlp_state != NLP_STE_REG_LOGIN_ISSUE) && |
| @@ -2175,7 +2174,7 @@ lpfc_mbx_cmpl_fcf_scan_read_fcf_rec(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq) | |||
| 2175 | uint32_t boot_flag, addr_mode; | 2174 | uint32_t boot_flag, addr_mode; |
| 2176 | uint16_t fcf_index, next_fcf_index; | 2175 | uint16_t fcf_index, next_fcf_index; |
| 2177 | struct lpfc_fcf_rec *fcf_rec = NULL; | 2176 | struct lpfc_fcf_rec *fcf_rec = NULL; |
| 2178 | uint16_t vlan_id; | 2177 | uint16_t vlan_id = LPFC_FCOE_NULL_VID; |
| 2179 | bool select_new_fcf; | 2178 | bool select_new_fcf; |
| 2180 | int rc; | 2179 | int rc; |
| 2181 | 2180 | ||
| @@ -4022,9 +4021,11 @@ lpfc_register_remote_port(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp) | |||
| 4022 | rdata = rport->dd_data; | 4021 | rdata = rport->dd_data; |
| 4023 | /* break the link before dropping the ref */ | 4022 | /* break the link before dropping the ref */ |
| 4024 | ndlp->rport = NULL; | 4023 | ndlp->rport = NULL; |
| 4025 | if (rdata && rdata->pnode == ndlp) | 4024 | if (rdata) { |
| 4026 | lpfc_nlp_put(ndlp); | 4025 | if (rdata->pnode == ndlp) |
| 4027 | rdata->pnode = NULL; | 4026 | lpfc_nlp_put(ndlp); |
| 4027 | rdata->pnode = NULL; | ||
| 4028 | } | ||
| 4028 | /* drop reference for earlier registeration */ | 4029 | /* drop reference for earlier registeration */ |
| 4029 | put_device(&rport->dev); | 4030 | put_device(&rport->dev); |
| 4030 | } | 4031 | } |
| @@ -4607,9 +4608,9 @@ lpfc_sli4_dequeue_nport_iocbs(struct lpfc_hba *phba, | |||
| 4607 | pring = qp->pring; | 4608 | pring = qp->pring; |
| 4608 | if (!pring) | 4609 | if (!pring) |
| 4609 | continue; | 4610 | continue; |
| 4610 | spin_lock_irq(&pring->ring_lock); | 4611 | spin_lock(&pring->ring_lock); |
| 4611 | __lpfc_dequeue_nport_iocbs(phba, ndlp, pring, dequeue_list); | 4612 | __lpfc_dequeue_nport_iocbs(phba, ndlp, pring, dequeue_list); |
| 4612 | spin_unlock_irq(&pring->ring_lock); | 4613 | spin_unlock(&pring->ring_lock); |
| 4613 | } | 4614 | } |
| 4614 | spin_unlock_irq(&phba->hbalock); | 4615 | spin_unlock_irq(&phba->hbalock); |
| 4615 | } | 4616 | } |
