diff options
author | Robin Holt <holt@sgi.com> | 2009-04-13 17:40:19 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-13 18:04:33 -0400 |
commit | efdd06ed181a88a11e612238c1ac04668e665395 (patch) | |
tree | 6d66f74c82edf9986eeab5b3edef4697d5b6bb5c /drivers/misc/sgi-xp/xpc_sn2.c | |
parent | a374c57b0764432a80303abee3d1afd1939b5a0a (diff) |
sgi-xpc: implement opencomplete messaging
sgi-xpc has a window of failure where an open message can be sent and a
subsequent data message can get lost. We have added a new message
(opencomplete) which closes that window.
Signed-off-by: Robin Holt <holt@sgi.com>
Signed-off-by: Dean Nelson <dcn@sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/misc/sgi-xp/xpc_sn2.c')
-rw-r--r-- | drivers/misc/sgi-xp/xpc_sn2.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/misc/sgi-xp/xpc_sn2.c b/drivers/misc/sgi-xp/xpc_sn2.c index 43ad2968daf5..09bc1989f216 100644 --- a/drivers/misc/sgi-xp/xpc_sn2.c +++ b/drivers/misc/sgi-xp/xpc_sn2.c | |||
@@ -431,6 +431,13 @@ xpc_send_chctl_openreply_sn2(struct xpc_channel *ch, unsigned long *irq_flags) | |||
431 | } | 431 | } |
432 | 432 | ||
433 | static void | 433 | static void |
434 | xpc_send_chctl_opencomplete_sn2(struct xpc_channel *ch, | ||
435 | unsigned long *irq_flags) | ||
436 | { | ||
437 | XPC_SEND_NOTIFY_IRQ_SN2(ch, XPC_CHCTL_OPENCOMPLETE, irq_flags); | ||
438 | } | ||
439 | |||
440 | static void | ||
434 | xpc_send_chctl_msgrequest_sn2(struct xpc_channel *ch) | 441 | xpc_send_chctl_msgrequest_sn2(struct xpc_channel *ch) |
435 | { | 442 | { |
436 | XPC_SEND_NOTIFY_IRQ_SN2(ch, XPC_CHCTL_MSGREQUEST, NULL); | 443 | XPC_SEND_NOTIFY_IRQ_SN2(ch, XPC_CHCTL_MSGREQUEST, NULL); |
@@ -2380,6 +2387,7 @@ xpc_init_sn2(void) | |||
2380 | xpc_send_chctl_closereply = xpc_send_chctl_closereply_sn2; | 2387 | xpc_send_chctl_closereply = xpc_send_chctl_closereply_sn2; |
2381 | xpc_send_chctl_openrequest = xpc_send_chctl_openrequest_sn2; | 2388 | xpc_send_chctl_openrequest = xpc_send_chctl_openrequest_sn2; |
2382 | xpc_send_chctl_openreply = xpc_send_chctl_openreply_sn2; | 2389 | xpc_send_chctl_openreply = xpc_send_chctl_openreply_sn2; |
2390 | xpc_send_chctl_opencomplete = xpc_send_chctl_opencomplete_sn2; | ||
2383 | 2391 | ||
2384 | xpc_save_remote_msgqueue_pa = xpc_save_remote_msgqueue_pa_sn2; | 2392 | xpc_save_remote_msgqueue_pa = xpc_save_remote_msgqueue_pa_sn2; |
2385 | 2393 | ||