From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Fri, 18 Oct 2002 04:00:29 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Fri, 18 Oct 2002 04:00:29 -0400 Received: from dell-paw-3.cambridge.redhat.com ([195.224.55.237]:28150 "EHLO executor.cambridge.redhat.com") by vger.kernel.org with ESMTP id ; Fri, 18 Oct 2002 04:00:27 -0400 From: David Howells To: torvalds@transmeta.com Cc: Chris Wright , linux-kernel@vger.kernel.org Subject: [PATCH] missing put in AFS client User-Agent: EMH/1.14.1 SEMI/1.14.3 (Ushinoya) FLIM/1.14.3 (=?ISO-8859-4?Q?Unebigory=F2mae?=) APEL/10.3 Emacs/21.2 (i686-pc-linux-gnu) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.3 - "Ushinoya") Content-Type: text/plain; charset=US-ASCII Date: Fri, 18 Oct 2002 09:06:19 +0100 Message-ID: <10835.1034928379@warthog.cambridge.redhat.com> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Hi Linus, This patch fixes a bug in my AFS client in which a put of an outstanding call was missing in the unmount cleanup code. This occasionally resulted in the AFS module becoming unremovable. David diff -ur -x '*.o' -x '*.cmd' -x '*~' linux-2.5.43/fs/afs/cmservice.c afs-devel/fs/afs/cmservice.c --- linux-2.5.43/fs/afs/cmservice.c 2002-10-16 09:25:59.000000000 +0100 +++ afs-devel/fs/afs/cmservice.c 2002-10-18 08:57:44.000000000 +0100 @@ -129,11 +129,7 @@ /* only certain signals are of interest */ spin_lock_irq(¤t->sig->siglock); siginitsetinv(¤t->blocked,0); -#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,3) recalc_sigpending(); -#else - recalc_sigpending(current); -#endif spin_unlock_irq(¤t->sig->siglock); /* loop around looking for things to attend to */ @@ -360,6 +356,9 @@ rxrpc_call_abort(call,-ESRCH); /* abort, dequeue and put */ + _debug("nuking active call %08x.%d", + ntohl(call->conn->conn_id),ntohl(call->call_id)); + rxrpc_put_call(call); rxrpc_put_call(call); spin_lock(&afscm_calls_lock);