RDMA/cxgb4: Zero out ISGL padding
The HW design requires zeroing any pad in SGLs. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
af93fb5dcc
commit
13fecb83b4
1 changed files with 4 additions and 0 deletions
|
@ -263,6 +263,9 @@ static int build_immd(struct t4_sq *sq, struct fw_ri_immd *immdp,
|
||||||
rem -= len;
|
rem -= len;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
len = roundup(plen + sizeof *immdp, 16) - (plen + sizeof *immdp);
|
||||||
|
if (len)
|
||||||
|
memset(dstp, 0, len);
|
||||||
immdp->op = FW_RI_DATA_IMMD;
|
immdp->op = FW_RI_DATA_IMMD;
|
||||||
immdp->r1 = 0;
|
immdp->r1 = 0;
|
||||||
immdp->r2 = 0;
|
immdp->r2 = 0;
|
||||||
|
@ -292,6 +295,7 @@ static int build_isgl(__be64 *queue_start, __be64 *queue_end,
|
||||||
if (++flitp == queue_end)
|
if (++flitp == queue_end)
|
||||||
flitp = queue_start;
|
flitp = queue_start;
|
||||||
}
|
}
|
||||||
|
*flitp = (__force __be64)0;
|
||||||
isglp->op = FW_RI_DATA_ISGL;
|
isglp->op = FW_RI_DATA_ISGL;
|
||||||
isglp->r1 = 0;
|
isglp->r1 = 0;
|
||||||
isglp->nsge = cpu_to_be16(num_sge);
|
isglp->nsge = cpu_to_be16(num_sge);
|
||||||
|
|
Reference in a new issue