|
@@ -1141,6 +1141,8 @@ int hfi1_verbs_send_pio(struct rvt_qp *qp, struct hfi1_pkt_state *ps,
|
|
|
|
|
|
|
|
if (slen > len)
|
|
if (slen > len)
|
|
|
slen = len;
|
|
slen = len;
|
|
|
|
|
+ if (slen > ss->sge.sge_length)
|
|
|
|
|
+ slen = ss->sge.sge_length;
|
|
|
rvt_update_sge(ss, slen, false);
|
|
rvt_update_sge(ss, slen, false);
|
|
|
seg_pio_copy_mid(pbuf, addr, slen);
|
|
seg_pio_copy_mid(pbuf, addr, slen);
|
|
|
len -= slen;
|
|
len -= slen;
|