diff options
author | Max Asbock <masbock@us.ibm.com> | 2005-06-21 20:16:33 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-21 22:07:34 -0400 |
commit | b8acb808468a88a188d7c5aba3681c583a5785f9 (patch) | |
tree | 7a4e5367e05cc52bc8008baaa8c35ed05989ec60 /drivers/misc/ibmasm/ibmasm.h | |
parent | f5ccc842318efcd7c05dee3203dfdbbafae47bd6 (diff) |
[PATCH] ibmasm driver: correctly wake up sleeping threads
Due to my incomplete understanding of the wait_event_interruptible() function
threads waiting for service processor events were not woken up. This patch
fixes that problem.
Signed-off-by: Max Asbock <masbock@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/misc/ibmasm/ibmasm.h')
-rw-r--r-- | drivers/misc/ibmasm/ibmasm.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/misc/ibmasm/ibmasm.h b/drivers/misc/ibmasm/ibmasm.h index 1e83406382e7..35c4def5af18 100644 --- a/drivers/misc/ibmasm/ibmasm.h +++ b/drivers/misc/ibmasm/ibmasm.h | |||
@@ -108,6 +108,7 @@ struct event_buffer { | |||
108 | }; | 108 | }; |
109 | 109 | ||
110 | struct event_reader { | 110 | struct event_reader { |
111 | int cancelled; | ||
111 | unsigned int next_serial_number; | 112 | unsigned int next_serial_number; |
112 | wait_queue_head_t wait; | 113 | wait_queue_head_t wait; |
113 | struct list_head node; | 114 | struct list_head node; |
@@ -185,6 +186,7 @@ extern void ibmasm_receive_event(struct service_processor *sp, void *data, unsi | |||
185 | extern void ibmasm_event_reader_register(struct service_processor *sp, struct event_reader *reader); | 186 | extern void ibmasm_event_reader_register(struct service_processor *sp, struct event_reader *reader); |
186 | extern void ibmasm_event_reader_unregister(struct service_processor *sp, struct event_reader *reader); | 187 | extern void ibmasm_event_reader_unregister(struct service_processor *sp, struct event_reader *reader); |
187 | extern int ibmasm_get_next_event(struct service_processor *sp, struct event_reader *reader); | 188 | extern int ibmasm_get_next_event(struct service_processor *sp, struct event_reader *reader); |
189 | extern void ibmasm_cancel_next_event(struct event_reader *reader); | ||
188 | 190 | ||
189 | /* heartbeat - from SP to OS */ | 191 | /* heartbeat - from SP to OS */ |
190 | extern void ibmasm_register_panic_notifier(void); | 192 | extern void ibmasm_register_panic_notifier(void); |