From: Derrick Brashear Date: Mon, 25 Jan 2010 21:02:23 +0000 (-0500) Subject: rx avoid discarding packets while tq is busy X-Git-Tag: openafs-devel-1_5_71~21 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=f0b1d7ccbbc4056338dde92c8b131ad2070351ad;p=packages%2Fo%2Fopenafs.git rx avoid discarding packets while tq is busy we don't check here that no one else is working the tq *after* getting the lock. do so. Change-Id: I91d1ac020334b038a6a045734911335299613875 Reviewed-on: http://gerrit.openafs.org/1159 Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear --- diff --git a/src/rx/rx.c b/src/rx/rx.c index afb31842f..ec342d8cc 100755 --- a/src/rx/rx.c +++ b/src/rx/rx.c @@ -2219,6 +2219,7 @@ rxi_NewCall(struct rx_connection *conn, int channel) CLEAR_CALL_QUEUE_LOCK(call); #ifdef AFS_GLOBAL_RXLOCK_KERNEL /* Now, if TQ wasn't cleared earlier, do it now. */ + rxi_WaitforTQBusy(call); if (call->flags & RX_CALL_TQ_CLEARME) { rxi_ClearTransmitQueue(call, 1); /*queue_Init(&call->tq);*/