]> git.baikalelectronics.ru Git - kernel.git/commit
rxrpc: Fix call timer
authorDavid Howells <dhowells@redhat.com>
Fri, 23 Sep 2016 11:39:22 +0000 (12:39 +0100)
committerDavid Howells <dhowells@redhat.com>
Fri, 23 Sep 2016 14:49:19 +0000 (15:49 +0100)
commit53f7932d58458bf91892282ed055b88b84af8d01
tree78a27b9b3e2d3a4d3f5203f910dc45d9eaeb2141
parentfff72fc67f2b6b672298ab97646a2960ae807cc2
rxrpc: Fix call timer

Fix the call timer in the following ways:

 (1) If call->resend_at or call->ack_at are before or equal to the current
     time, then ignore that timeout.

 (2) If call->expire_at is before or equal to the current time, then don't
     set the timer at all (possibly we should queue the call).

 (3) Don't skip modifying the timer if timer_pending() is true.  This
     indicates that the timer is working, not that it has expired and is
     running/waiting to run its expiry handler.

Also call rxrpc_set_timer() to start the call timer going rather than
calling add_timer().

Signed-off-by: David Howells <dhowells@redhat.com>
net/rxrpc/call_event.c
net/rxrpc/call_object.c