lpfc: Fix OS crash when running loopback test in applications
Subsystems (2)
PATCH 17/21 lpfc: Fix OS crash when running loopback test in applications
Fix OS crash when running loopback test in applications
Signed-off-by Dick Kennedy <[email protected]>
Signed-off-by James Smart <[email protected]>
--- drivers/scsi/lpfc/lpfc_bsg.c | 1 + drivers/scsi/lpfc/lpfc_sli.c | 12 ++++++++---- drivers/scsi/lpfc/lpfc_sli.h | 1 + 3 files changed, 10 insertions(+), 4 deletions(-)
drivers/scsi/lpfc/lpfc_bsg.c +1 -0
@@ -3194,6 +3194,7 @@ lpfc_bsg_diag_loopback_run(struct fc_bsg_job *job) cmd->unsli3.rcvsli3.ox_id =0xffff ; } cmdiocbq->iocb_flag |=LPFC_IO_LIBDFC ; + cmdiocbq->iocb_flag |=LPFC_IO_LOOPBACK ; cmdiocbq->vport = phba->pport; cmdiocbq->iocb_cmpl =NULL ; iocb_stat = lpfc_sli_issue_iocb_wait(phba, LPFC_ELS_RING, cmdiocbq,
drivers/scsi/lpfc/lpfc_sli.c +8 -4
@@ -918,12 +918,16 @@ __lpfc_sli_get_sglq(struct lpfc_hba *phba, struct lpfc_iocbq *piocbq) lpfc_cmd = (struct lpfc_scsi_buf *) piocbq->context1; ndlp = lpfc_cmd->rdata->pnode; }else if ((piocbq->iocb.ulpCommand ==CMD_GEN_REQUEST64_CR ) && - !(piocbq->iocb_flag &LPFC_IO_LIBDFC )) + !(piocbq->iocb_flag &LPFC_IO_LIBDFC )) { ndlp = piocbq->context_un.ndlp; -else if (piocbq->iocb_flag &LPFC_IO_LIBDFC ) - ndlp = piocbq->context_un.ndlp; -else + }else if (piocbq->iocb_flag &LPFC_IO_LIBDFC ) { +if (piocbq->iocb_flag &LPFC_IO_LOOPBACK ) + ndlp =NULL ; +else + ndlp = piocbq->context_un.ndlp; + }else { ndlp = piocbq->context1; + } list_remove_head(lpfc_sgl_list, sglq, struct lpfc_sglq, list); start_sglq = sglq;
drivers/scsi/lpfc/lpfc_sli.h +1 -0
@@ -80,6 +80,7 @@ struct lpfc_iocbq {#define LPFC_IO_OAS 0x10000/* OAS FCP IO */ #define LPFC_IO_FOF 0x20000/* FOF FCP IO */ +#define LPFC_IO_LOOPBACK 0x40000/* Loopback IO */ uint32_t drvrTimeout;/* driver timeout in seconds */ uint32_t fcp_wqidx;/* index to FCP work queue */
Signature · 1 line
1.7.11.7
Quoted 5 lines · James Smart
Fix OS crash when running loopback test in applications
Signed-off-by Dick Kennedy <[email protected]>Signed-off-by James Smart <[email protected]>---
Reviewed-by Hannes Reinecke <[email protected]>
Cheers,
Hannes
Signature · 8 lines
Dr. Hannes Reinecke zSeries & Storage [email protected] +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg) -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html