net/mlx5: FPGA, Call DMA unmap with the right size
When mlx5_fpga_conn_unmap_buf is called buf->sg[0].size
should equal the actual buffer size, not the message size.
Otherwise we will trigger the following dma debug warning
"DMA-API: device driver frees DMA memory with different size"
Fixes: 537a505741
('net/mlx5: FPGA, Add high-speed connection routines')
Signed-off-by: Ilya Lesokhin <ilyal@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
This commit is contained in:
parent
ba869ee0e0
commit
36dd490200
|
@ -256,8 +256,6 @@ static void mlx5_fpga_conn_rq_cqe(struct mlx5_fpga_conn *conn,
|
||||||
ix = be16_to_cpu(cqe->wqe_counter) & (conn->qp.rq.size - 1);
|
ix = be16_to_cpu(cqe->wqe_counter) & (conn->qp.rq.size - 1);
|
||||||
buf = conn->qp.rq.bufs[ix];
|
buf = conn->qp.rq.bufs[ix];
|
||||||
conn->qp.rq.bufs[ix] = NULL;
|
conn->qp.rq.bufs[ix] = NULL;
|
||||||
if (!status)
|
|
||||||
buf->sg[0].size = be32_to_cpu(cqe->byte_cnt);
|
|
||||||
conn->qp.rq.cc++;
|
conn->qp.rq.cc++;
|
||||||
|
|
||||||
if (unlikely(status && (status != MLX5_CQE_SYNDROME_WR_FLUSH_ERR)))
|
if (unlikely(status && (status != MLX5_CQE_SYNDROME_WR_FLUSH_ERR)))
|
||||||
|
@ -275,6 +273,7 @@ static void mlx5_fpga_conn_rq_cqe(struct mlx5_fpga_conn *conn,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
buf->sg[0].size = be32_to_cpu(cqe->byte_cnt);
|
||||||
mlx5_fpga_dbg(conn->fdev, "Message with %u bytes received successfully\n",
|
mlx5_fpga_dbg(conn->fdev, "Message with %u bytes received successfully\n",
|
||||||
buf->sg[0].size);
|
buf->sg[0].size);
|
||||||
conn->recv_cb(conn->cb_arg, buf);
|
conn->recv_cb(conn->cb_arg, buf);
|
||||||
|
|
Loading…
Reference in New Issue