lpfc 8.3.44: Fixed IO hang when in msi mode.
Subsystems (2)
PATCH v2 1/7 lpfc 8.3.44: Fixed IO hang when in msi mode.
Fixed IO hang when in msi mode.
Signed-off-by James Smart <[email protected]>
---
lpfc_scsi.c | 18 ++++++++++++++++++ lpfc_sli.c | 3 ++- 2 files changed, 20 insertions(+), 1 deletion(-)
drivers/scsi/lpfc/lpfc_scsi.c +18 -0
@@ -4782,6 +4782,24 @@ lpfc_queuecommand(struct Scsi_Host *shos &lpfc_cmd->cur_iocbq, SLI_IOCB_RET_IOCB);if (err) {atomic_dec (&ndlp->cmd_pending); +lpfc_printf_vlog (vport,KERN_INFO ,LOG_FCP , +"3376 FCP could not issue IOCB err %x" +"FCP cmd x%x <%d/%d> " +"sid: x%x did: x%x oxid: x%x " +"Data: x%x x%x x%x x%x\n" , + err, cmnd->cmnd[0 ], + cmnd->device ? cmnd->device->id :0xffff , + cmnd->device ? cmnd->device->lun :0xffff , + vport->fc_myDID, ndlp->nlp_DID, + phba->sli_rev ==LPFC_SLI_REV4 ? + lpfc_cmd->cur_iocbq.sli4_xritag :0xffff , + lpfc_cmd->cur_iocbq.iocb.ulpContext, + lpfc_cmd->cur_iocbq.iocb.ulpIoTag, + lpfc_cmd->cur_iocbq.iocb.ulpTimeout, + (uint32_t ) + (cmnd->request->timeout /1000 )); + + goto out_host_busy_free_buf; }if (phba->cfg_poll &ENABLE_FCP_RING_POLLING ) {
drivers/scsi/lpfc/lpfc_sli.c +2 -1
@@ -8032,7 +8032,8 @@ lpfc_sli4_scmd_to_wqidx_distr(struct lpfstruct lpfc_vector_map_info *cpup;int chann, cpu; -if (phba->cfg_fcp_io_sched ==LPFC_FCP_SCHED_BY_CPU ) { +if (phba->cfg_fcp_io_sched ==LPFC_FCP_SCHED_BY_CPU + && phba->cfg_fcp_io_channel >1 ) { cpu =smp_processor_id ();if (cpu < phba->sli4_hba.num_present_cpu) { cpup = phba->sli4_hba.cpu_map;