Commit 9d617bc7 authored by David Howells's avatar David Howells Committed by Linus Torvalds

[PATCH] missing put in AFS client

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.
parent 127fe31f
...@@ -129,11 +129,7 @@ static int kafscmd(void *arg) ...@@ -129,11 +129,7 @@ static int kafscmd(void *arg)
/* only certain signals are of interest */ /* only certain signals are of interest */
spin_lock_irq(&current->sig->siglock); spin_lock_irq(&current->sig->siglock);
siginitsetinv(&current->blocked,0); siginitsetinv(&current->blocked,0);
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,3)
recalc_sigpending(); recalc_sigpending();
#else
recalc_sigpending(current);
#endif
spin_unlock_irq(&current->sig->siglock); spin_unlock_irq(&current->sig->siglock);
/* loop around looking for things to attend to */ /* loop around looking for things to attend to */
...@@ -360,6 +356,9 @@ void afscm_stop(void) ...@@ -360,6 +356,9 @@ void afscm_stop(void)
rxrpc_call_abort(call,-ESRCH); /* abort, dequeue and put */ 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); rxrpc_put_call(call);
spin_lock(&afscm_calls_lock); spin_lock(&afscm_calls_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment