• James.Smart@Emulex.Com's avatar
    [SCSI] lpfc: Fixes in mbox_timeout_handler · db468d10
    James.Smart@Emulex.Com authored
    Analysis:
    
    Timeout of READ_SPARM64 causes call to lpfc_mbox_timeout_handler which
    reads psli->mbox_active to determine the timeout mbox.  Timeout
    handler then NULL's psli->mbox_active and calls
    lpfc_mbx_cmpl_read_sparam(), which on timeout condition, calls
    link_down().  link_down() now calls disc_done() which calls
    mbox_timeout_hander() again since WORKER_MBOX_TMO is still set, which
    goes back to read psli->mbox_active which is already NULL'ed.
    
    Remove redundant if statement in lpfc_mbox_timeout_handler.  pmbox is
    assigned psli->mbox_active so there is no need to check if it actually
    equals psli->mbox_active.
    Signed-off-by: default avatarJames Smart <James.Smart@emulex.com>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
    db468d10
lpfc_sli.c 73.3 KB