mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-11 21:16:44 +07:00
iw_cxgb4: limit IRD/ORD advertised to ULP by device max.
The i40iw initiator sends an MPA-request with ird = 63, ord = 63. The cxgb4 responder sends a RST. Since the inbound ord=63 and it exceeds the max_ird/c4iw_max_read_depth (=32 default), chelsio decides to abort. Instead, cxgb4 should adjust the ord/ird down before presenting it to the ULP. Reported-by: Shiraz Saleem <shiraz.saleem@intel.com> Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
e0cf75deab
commit
7f446abf12
@ -1827,8 +1827,12 @@ static int process_mpa_request(struct c4iw_ep *ep, struct sk_buff *skb)
|
||||
(ep->mpa_pkt + sizeof(*mpa));
|
||||
ep->ird = ntohs(mpa_v2_params->ird) &
|
||||
MPA_V2_IRD_ORD_MASK;
|
||||
ep->ird = min_t(u32, ep->ird,
|
||||
cur_max_read_depth(ep->com.dev));
|
||||
ep->ord = ntohs(mpa_v2_params->ord) &
|
||||
MPA_V2_IRD_ORD_MASK;
|
||||
ep->ord = min_t(u32, ep->ord,
|
||||
cur_max_read_depth(ep->com.dev));
|
||||
PDBG("%s initiator ird %u ord %u\n", __func__, ep->ird,
|
||||
ep->ord);
|
||||
if (ntohs(mpa_v2_params->ird) & MPA_V2_PEER2PEER_MODEL)
|
||||
|
Loading…
Reference in New Issue
Block a user