]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
[SCSI] bnx2i: Fixed the endian on TTT for NOP out transmission
authorEddie Wai <eddie.wai@broadcom.com>
Fri, 26 Aug 2011 18:16:47 +0000 (11:16 -0700)
committerJoe Jin <joe.jin@oracle.com>
Thu, 17 May 2012 00:57:38 +0000 (08:57 +0800)
The iscsi_nopout task's TTT is defined as __be32 while the DMA
memory to the chip is CPU specific.  This creates a problem for
unsolicited NOP-In responses where the TTT is not the RESERVED
tag of 0xFFs.  This patch adds a call to be32_to_cpu for the TTT
specified.

Signed-off-by: Eddie Wai <eddie.wai@broadcom.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
(cherry picked from commit 610602f369b4c810c9df05e431abd38f38cb8e0d)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
drivers/scsi/bnx2i/bnx2i_hwi.c

index 030a96c646c314fc093ecf7b99a80a6a41cf32c3..0e8dd1ff81f051cb71c07170a2048960bf0ef127 100644 (file)
@@ -563,7 +563,7 @@ int bnx2i_send_iscsi_nopout(struct bnx2i_conn *bnx2i_conn,
        nopout_wqe->itt = ((u16)task->itt |
                           (ISCSI_TASK_TYPE_MPATH <<
                            ISCSI_TMF_REQUEST_TYPE_SHIFT));
-       nopout_wqe->ttt = nopout_hdr->ttt;
+       nopout_wqe->ttt = be32_to_cpu(nopout_hdr->ttt);
        nopout_wqe->flags = 0;
        if (!unsol)
                nopout_wqe->flags = ISCSI_NOP_OUT_REQUEST_LOCAL_COMPLETION;