diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2011-09-10 08:17:04 -0400 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2012-03-25 00:29:54 +0100 |
commit | 0fcd719934cd3521ae4a977f454e75e2be60b7ff (patch) | |
tree | f6679910030fa0361ab52603987b72bc5e7ef314 /arch/um/drivers/chan.h | |
parent | 5eaa3411a80fe50b3a0333389e0e259c580869e9 (diff) |
um: race fix: initialize delayed_work *before* registering IRQ
... since chan_interrupt() might schedule it if there's too much
incoming data. Kill task argument of chan_interrupt(), while
we are at it - it's always &line->task.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch/um/drivers/chan.h')
-rw-r--r-- | arch/um/drivers/chan.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/um/drivers/chan.h b/arch/um/drivers/chan.h index 5078ec701c61..d3974a91aa48 100644 --- a/arch/um/drivers/chan.h +++ b/arch/um/drivers/chan.h @@ -27,7 +27,7 @@ struct chan { void *data; }; -extern void chan_interrupt(struct line *line, struct delayed_work *task, +extern void chan_interrupt(struct line *line, struct tty_struct *tty, int irq); extern int parse_chan_pair(char *str, struct line *line, int device, const struct chan_opts *opts, char **error_out); |