Commit df8b13a1 authored by Shiraz Saleem's avatar Shiraz Saleem Committed by Jason Gunthorpe

i40iw: Fix sequence number for the first partial FPDU

Partial FPDU processing is broken as the sequence number
for the first partial FPDU is wrong due to incorrect
Q2 buffer offset. The offset should be 64 rather than 16.

Fixes: 786c6adb ("i40iw: add puda code")
Signed-off-by: default avatarShiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent 3020f252
...@@ -97,6 +97,7 @@ ...@@ -97,6 +97,7 @@
#define RDMA_OPCODE_MASK 0x0f #define RDMA_OPCODE_MASK 0x0f
#define RDMA_READ_REQ_OPCODE 1 #define RDMA_READ_REQ_OPCODE 1
#define Q2_BAD_FRAME_OFFSET 72 #define Q2_BAD_FRAME_OFFSET 72
#define Q2_FPSN_OFFSET 64
#define CQE_MAJOR_DRV 0x8000 #define CQE_MAJOR_DRV 0x8000
#define I40IW_TERM_SENT 0x01 #define I40IW_TERM_SENT 0x01
......
...@@ -1378,7 +1378,7 @@ static void i40iw_ieq_handle_exception(struct i40iw_puda_rsrc *ieq, ...@@ -1378,7 +1378,7 @@ static void i40iw_ieq_handle_exception(struct i40iw_puda_rsrc *ieq,
u32 *hw_host_ctx = (u32 *)qp->hw_host_ctx; u32 *hw_host_ctx = (u32 *)qp->hw_host_ctx;
u32 rcv_wnd = hw_host_ctx[23]; u32 rcv_wnd = hw_host_ctx[23];
/* first partial seq # in q2 */ /* first partial seq # in q2 */
u32 fps = qp->q2_buf[16]; u32 fps = *(u32 *)(qp->q2_buf + Q2_FPSN_OFFSET);
struct list_head *rxlist = &pfpdu->rxlist; struct list_head *rxlist = &pfpdu->rxlist;
struct list_head *plist; struct list_head *plist;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment