lkml.org 
[lkml]   [2017]   [Nov]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 109/193] scsi: lpfc: Fix FCP hba_wqidx assignment
    Date
    4.14-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Dick Kennedy <dick.kennedy@broadcom.com>

    commit 8e036a9497c5d565baafda4c648f2f372999a547 upstream.

    The driver is encountering oops in lpfc_sli_calc_ring.

    The driver is setting hba_wqidx for FCP based on the policy in use for
    NVME. The two may not be the same. Change to set the wqidx based on the
    FCP policy.

    Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
    Signed-off-by: James Smart <james.smart@broadcom.com>
    Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c
    index 2893d4fb9654..8c37885f4851 100644
    --- a/drivers/scsi/lpfc/lpfc_sli.c
    +++ b/drivers/scsi/lpfc/lpfc_sli.c
    @@ -9396,10 +9396,13 @@ lpfc_sli4_calc_ring(struct lpfc_hba *phba, struct lpfc_iocbq *piocb)
    * for abort iocb hba_wqidx should already
    * be setup based on what work queue we used.
    */
    - if (!(piocb->iocb_flag & LPFC_USE_FCPWQIDX))
    + if (!(piocb->iocb_flag & LPFC_USE_FCPWQIDX)) {
    piocb->hba_wqidx =
    lpfc_sli4_scmd_to_wqidx_distr(phba,
    piocb->context1);
    + piocb->hba_wqidx = piocb->hba_wqidx %
    + phba->cfg_fcp_io_channel;
    + }
    return phba->sli4_hba.fcp_wq[piocb->hba_wqidx]->pring;
    } else {
    if (unlikely(!phba->sli4_hba.oas_wq))

    \
     
     \ /
      Last update: 2017-11-28 11:49    [W:4.525 / U:0.428 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site