rx: cancel growmtu event on resetcall
authorDerrick Brashear <shadow@dementia.org>
Wed, 2 Mar 2011 13:12:38 +0000 (08:12 -0500)
committerDerrick Brashear <shadow@dementia.org>
Thu, 3 Mar 2011 12:03:44 +0000 (04:03 -0800)
attempt at fixing issue reported by Ryan Underwood.

Change-Id: I0d90fc4c517a3892564abd98d94a948741e1a394
Reviewed-on: http://gerrit.openafs.org/4108
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

src/rx/rx.c

index 3d4d7be..949e89d 100644 (file)
@@ -5111,6 +5111,10 @@ rxi_ResetCall(struct rx_call *call, int newcall)
        call->arrivalProc = (void (*)())0;
     }
 
+    if (call->growMTUEvent)
+       rxevent_Cancel(call->growMTUEvent, call,
+                      RX_CALL_REFCOUNT_ALIVE);
+
     if (call->delayedAbortEvent) {
        rxevent_Cancel(call->delayedAbortEvent, call, RX_CALL_REFCOUNT_ABORT);
        packet = rxi_AllocPacket(RX_PACKET_CLASS_SPECIAL);
@@ -6151,6 +6155,9 @@ rxi_CheckCall(struct rx_call *call)
            rxevent_Cancel(call->resendEvent, call, RX_CALL_REFCOUNT_RESEND);
            rxevent_Cancel(call->keepAliveEvent, call,
                           RX_CALL_REFCOUNT_ALIVE);
+           if (call->growMTUEvent)
+               rxevent_Cancel(call->growMTUEvent, call,
+                              RX_CALL_REFCOUNT_ALIVE);
             MUTEX_ENTER(&rx_refcnt_mutex);
            if (call->refCount == 0) {
                rxi_FreeCall(call, haveCTLock);