From: David Howells <dhowe...@redhat.com> Date: Fri, 10 Mar 2017 07:48:49 +0000
> The RxRPC ACK packet may contain an extension that includes the peer's > current Rx window size for this call. We adjust the local Tx window size > to match. However, the transmitter can stall if the receive window is > reduced to 0 by the peer and then reopened. > > This is because the normal way that the transmitter is re-energised is by > dropping something out of our Tx queue and thus making space. When a > single gap is made, the transmitter is woken up. However, because there's > nothing in the Tx queue at this point, this doesn't happen. > > To fix this, perform a wake_up() any time we see the peer's Rx window size > increasing. > > The observable symptom is that calls start failing on ETIMEDOUT and the > following: > > kAFS: SERVER DEAD state=-62 > > appears in dmesg. > > Signed-off-by: David Howells <dhowe...@redhat.com> Applied, thanks David.