Code Review
/
kvmfornfv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Upgrade to 4.4.50-rt62
[kvmfornfv.git]
/
kernel
/
drivers
/
scsi
/
lpfc
/
lpfc_hbadisc.c
diff --git
a/kernel/drivers/scsi/lpfc/lpfc_hbadisc.c
b/kernel/drivers/scsi/lpfc/lpfc_hbadisc.c
index
bfc2442
..
d3668aa
100644
(file)
--- a/
kernel/drivers/scsi/lpfc/lpfc_hbadisc.c
+++ b/
kernel/drivers/scsi/lpfc/lpfc_hbadisc.c
@@
-1083,7
+1083,7
@@
out:
}
}
-
static
void
+void
lpfc_mbx_cmpl_local_config_link(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
{
struct lpfc_vport *vport = pmb->vport;
lpfc_mbx_cmpl_local_config_link(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
{
struct lpfc_vport *vport = pmb->vport;
@@
-1113,8
+1113,10
@@
lpfc_mbx_cmpl_local_config_link(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
/* Start discovery by sending a FLOGI. port_state is identically
* LPFC_FLOGI while waiting for FLOGI cmpl
*/
/* Start discovery by sending a FLOGI. port_state is identically
* LPFC_FLOGI while waiting for FLOGI cmpl
*/
- if (vport->port_state != LPFC_FLOGI
|| vport->fc_flag & FC_PT2PT_PLOGI
)
+ if (vport->port_state != LPFC_FLOGI)
lpfc_initial_flogi(vport);
lpfc_initial_flogi(vport);
+ else if (vport->fc_flag & FC_PT2PT)
+ lpfc_disc_start(vport);
return;
out:
return;
out:
@@
-2963,8
+2965,10
@@
lpfc_mbx_cmpl_reg_vfi(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq)
out_free_mem:
mempool_free(mboxq, phba->mbox_mem_pool);
out_free_mem:
mempool_free(mboxq, phba->mbox_mem_pool);
- lpfc_mbuf_free(phba, dmabuf->virt, dmabuf->phys);
- kfree(dmabuf);
+ if (dmabuf) {
+ lpfc_mbuf_free(phba, dmabuf->virt, dmabuf->phys);
+ kfree(dmabuf);
+ }
return;
}
return;
}
@@
-3448,10
+3452,10
@@
lpfc_mbx_cmpl_reg_login(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
spin_lock_irq(shost->host_lock);
ndlp->nlp_flag &= ~NLP_IGNR_REG_CMPL;
spin_unlock_irq(shost->host_lock);
spin_lock_irq(shost->host_lock);
ndlp->nlp_flag &= ~NLP_IGNR_REG_CMPL;
spin_unlock_irq(shost->host_lock);
- }
else
- /* Good status, call state machine */
- lpfc_disc_state_machine(vport, ndlp, pmb,
-
NLP_EVT_CMPL_REG_LOGIN);
+ }
+
+ /* Call state machine */
+
lpfc_disc_state_machine(vport, ndlp, pmb,
NLP_EVT_CMPL_REG_LOGIN);
lpfc_mbuf_free(phba, mp->virt, mp->phys);
kfree(mp);
lpfc_mbuf_free(phba, mp->virt, mp->phys);
kfree(mp);