[IA64] fix possible XPC deadlock when disconnecting
commita460ef8d0a98ac9ef6b829ae292c9b6c13bc0120
authorDean Nelson <dcn@sgi.com>
Wed, 22 Nov 2006 14:25:00 +0000 (22 08:25 -0600)
committerTony Luck <tony.luck@intel.com>
Tue, 12 Dec 2006 19:48:53 +0000 (12 11:48 -0800)
treeda52a77a9fee80f98a8a82567814f33d2341234b
parent1cf24bdbbbd2eb5439796dc399ab1649d150ed1d
[IA64] fix possible XPC deadlock when disconnecting

This patch eliminates a potential deadlock that is possible when XPC
disconnects a channel to a partition that has gone down. This deadlock will
occur if at least one of the kthreads created by XPC for the purpose of making
callouts to the channel's registerer is detained in the registerer and will
not be returning back to XPC until some registerer request occurs on the now
downed partition. The potential for a deadlock is removed by ensuring that
there always is a kthread available to make the channel disconnecting callout
to the registerer.

Signed-off-by: Dean Nelson <dcn@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/sn/kernel/xpc_channel.c
arch/ia64/sn/kernel/xpc_main.c
include/asm-ia64/sn/xpc.h