|
@@ -333,14 +333,16 @@ static void rxrpc_input_ackinfo(struct rxrpc_call *call, struct sk_buff *skb,
|
|
|
struct rxrpc_skb_priv *sp = rxrpc_skb(skb);
|
|
|
struct rxrpc_peer *peer;
|
|
|
unsigned int mtu;
|
|
|
+ u32 rwind = ntohl(ackinfo->rwind);
|
|
|
|
|
|
_proto("Rx ACK %%%u Info { rx=%u max=%u rwin=%u jm=%u }",
|
|
|
sp->hdr.serial,
|
|
|
ntohl(ackinfo->rxMTU), ntohl(ackinfo->maxMTU),
|
|
|
- ntohl(ackinfo->rwind), ntohl(ackinfo->jumbo_max));
|
|
|
+ rwind, ntohl(ackinfo->jumbo_max));
|
|
|
|
|
|
- if (call->tx_winsize > ntohl(ackinfo->rwind))
|
|
|
- call->tx_winsize = ntohl(ackinfo->rwind);
|
|
|
+ if (rwind > RXRPC_RXTX_BUFF_SIZE - 1)
|
|
|
+ rwind = RXRPC_RXTX_BUFF_SIZE - 1;
|
|
|
+ call->tx_winsize = rwind;
|
|
|
|
|
|
mtu = min(ntohl(ackinfo->rxMTU), ntohl(ackinfo->maxMTU));
|
|
|
|