From 31efcebb7d7196adcee73027f513d7c0bf572b47 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Fri, 9 Sep 2011 19:14:02 -0400 Subject: um: fix races between line_open() and line_config() Pull parse_chan_pair() call into setup_one_line(), under the mutex. We really don't want open() to succeed before parse_chan_pair() had been done (or after it has failed, BTW). We also want "remove con" to free irqs, etc., same as "config con=none". Signed-off-by: Al Viro Signed-off-by: Richard Weinberger --- arch/um/drivers/chan_kern.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'arch/um/drivers/chan_kern.c') diff --git a/arch/um/drivers/chan_kern.c b/arch/um/drivers/chan_kern.c index 420e2c800799..3a95498155a1 100644 --- a/arch/um/drivers/chan_kern.c +++ b/arch/um/drivers/chan_kern.c @@ -551,6 +551,9 @@ int parse_chan_pair(char *str, struct line *line, int device, INIT_LIST_HEAD(chans); } + if (!str) + return 0; + out = strchr(str, ','); if (out != NULL) { in = str; -- cgit v1.2.3