scsi: lpfc: Fix cq_id truncation in rq create
authorJames Smart <jsmart2021@gmail.com>
Thu, 22 Jul 2021 22:17:17 +0000 (15:17 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 27 Jul 2021 04:06:40 +0000 (00:06 -0400)
On the newer hardware, CQ_ID values can be larger than seen on previous
generations. This exposed an issue in the driver where its definition of
cq_id in the RQ Create mailbox cmd was too small, thus the cq_id was
truncated, causing the command to fail.

Revise the RQ_CREATE CQ_ID field to its proper size (16 bits).

Link: https://lore.kernel.org/r/20210722221721.74388-3-jsmart2021@gmail.com
Co-developed-by: Justin Tee <justin.tee@broadcom.com>
Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_hw4.h

index 4d9233d..c31a0cb 100644 (file)
@@ -1561,7 +1561,7 @@ struct rq_context {
 #define lpfc_rq_context_hdr_size_WORD  word1
        uint32_t word2;
 #define lpfc_rq_context_cq_id_SHIFT    16
-#define lpfc_rq_context_cq_id_MASK     0x000003FF
+#define lpfc_rq_context_cq_id_MASK     0x0000FFFF
 #define lpfc_rq_context_cq_id_WORD     word2
 #define lpfc_rq_context_buf_size_SHIFT 0
 #define lpfc_rq_context_buf_size_MASK  0x0000FFFF