lkml.org 
[lkml]   [2021]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.14 625/849] scsi: lpfc: Wait for successful restart of SLI3 adapter during host sg_reset
    Date
    From: James Smart <jsmart2021@gmail.com>

    [ Upstream commit d305c253af693e69a36cedec880aca6d0c6d789d ]

    A prior patch introduced HBA_NEEDS_CFG_PORT flag logic, but in
    lpfc_sli_brdrestart_s3() code path, right after HBA_NEEDS_CFG_PORT is set,
    the phba->hba_flag is cleared in lpfc_sli_brdreset().

    Fix by calling lpfc_sli_chipset_init() to wait for successful restart of
    the HBA in lpfc_host_reset_handler() after lpfc_sli_brdrestart().

    lpfc_sli_chipset_init() sets the HBA_NEEDS_CFG_PORT flag so that the
    lpfc_sli_hba_setup() routine from lpfc_online() will execute
    lpfc_sli_config_port() initialization step when the brdrestart is
    successful.

    Link: https://lore.kernel.org/r/20211020211417.88754-3-jsmart2021@gmail.com
    Fixes: d2f2547efd39 ("scsi: lpfc: Fix auto sli_mode and its effect on CONFIG_PORT for SLI3")
    Co-developed-by: Justin Tee <justin.tee@broadcom.com>
    Signed-off-by: Justin Tee <justin.tee@broadcom.com>
    Signed-off-by: James Smart <jsmart2021@gmail.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/scsi/lpfc/lpfc_scsi.c | 7 +++++++
    1 file changed, 7 insertions(+)

    diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c
    index 1b248c237be1c..e80c3802d587a 100644
    --- a/drivers/scsi/lpfc/lpfc_scsi.c
    +++ b/drivers/scsi/lpfc/lpfc_scsi.c
    @@ -6487,6 +6487,13 @@ lpfc_host_reset_handler(struct scsi_cmnd *cmnd)
    if (rc)
    goto error;

    + /* Wait for successful restart of adapter */
    + if (phba->sli_rev < LPFC_SLI_REV4) {
    + rc = lpfc_sli_chipset_init(phba);
    + if (rc)
    + goto error;
    + }
    +
    rc = lpfc_online(phba);
    if (rc)
    goto error;
    --
    2.33.0


    \
     
     \ /
      Last update: 2021-11-16 00:13    [W:4.537 / U:1.788 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site