• David Howells's avatar
    rxrpc: Fix call timer · 01a88f7f
    David Howells authored
    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: default avatarDavid Howells <dhowells@redhat.com>
    01a88f7f
call_object.c 15.3 KB