Skip to content

Commit 7e04e21

Browse files
jsmart-ghChristoph Hellwig
authored andcommitted
Fix Express lane queue creation.
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 <[email protected]> Signed-off-by: James Smart <[email protected]> Reviewed-by: Johannes Thumshirn <[email protected]>
1 parent 86c6737 commit 7e04e21

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

drivers/scsi/lpfc/lpfc_init.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12040,6 +12040,7 @@ int
1204012040
lpfc_fof_queue_create(struct lpfc_hba *phba)
1204112041
{
1204212042
struct lpfc_queue *qdesc;
12043+
uint32_t wqesize;
1204312044

1204412045
/* Create FOF EQ */
1204512046
qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.eq_esize,
@@ -12060,8 +12061,11 @@ lpfc_fof_queue_create(struct lpfc_hba *phba)
1206012061
phba->sli4_hba.oas_cq = qdesc;
1206112062

1206212063
/* Create OAS WQ */
12063-
qdesc = lpfc_sli4_queue_alloc(phba, phba->sli4_hba.wq_esize,
12064+
wqesize = (phba->fcp_embed_io) ?
12065+
LPFC_WQE128_SIZE : phba->sli4_hba.wq_esize;
12066+
qdesc = lpfc_sli4_queue_alloc(phba, wqesize,
1206412067
phba->sli4_hba.wq_ecount);
12068+
1206512069
if (!qdesc)
1206612070
goto out_error;
1206712071

0 commit comments

Comments
 (0)