From: James Smart Date: Wed, 12 Jul 2017 22:41:41 +0000 (-0400) Subject: lpfc: Fix Express lane queue creation. X-Git-Tag: v4.1.12-106.0.20170720_1900~56 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=a00ac60f7070ec540bafca53b8e3de2f3924941a;p=users%2Fjedix%2Flinux-maple.git lpfc: Fix Express lane queue creation. [backport of 24754c5e3651ef7521cd2f8d2f7ac2c38b7bb072] From: rkennedy Orabug: 26439257 The older sli4 adapters only supported the 64 byte WQE entry size. The new adapter (fw) support both 64 and 128 byte WQE entry sizies. The Express lane WQ was not being created with the 128 byte WQE sizes when it was supported. Not having the right WQE size created for the express lane work queue caused the the firmware to overwrite the lun indentifier in the FCP header. This patch correctly creates the express lane work queue with the supported size. Signed-off-by: Dick Kennedy Signed-off-by: James Smart Reviewed-by: Johannes Thumshirn Signed-off-by: Brian Maly --- diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c index 582c7a635b30..f776b90d7c1d 100644 --- a/drivers/scsi/lpfc/lpfc_init.c +++ b/drivers/scsi/lpfc/lpfc_init.c @@ -11456,7 +11456,6 @@ int lpfc_fof_queue_create(struct lpfc_hba *phba) { struct lpfc_queue *qdesc; - uint32_t wqesize; /* Create FOF EQ */ qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.eq_esize, @@ -11477,11 +11476,8 @@ lpfc_fof_queue_create(struct lpfc_hba *phba) phba->sli4_hba.oas_cq = qdesc; /* Create OAS WQ */ - wqesize = (phba->fcp_embed_io) ? - LPFC_WQE128_SIZE : phba->sli4_hba.wq_esize; - qdesc = lpfc_sli4_queue_alloc(phba, wqesize, + qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.wq_esize, phba->sli4_hba.wq_ecount); - if (!qdesc) goto out_error;