From: Alan Cox Date: Mon, 28 Apr 2008 09:13:50 +0000 (-0700) Subject: crisv10: prepare for BKL push down X-Git-Tag: v2.6.26-rc1~911 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=032c17e8afa150412810ffc19913ecd5eb531d57;p=platform%2Fkernel%2Flinux-3.10.git crisv10: prepare for BKL push down Just the modem bits this time Signed-off-by: Alan Cox Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/drivers/serial/crisv10.c b/drivers/serial/crisv10.c index 383c4e6..88e7c1d 100644 --- a/drivers/serial/crisv10.c +++ b/drivers/serial/crisv10.c @@ -3582,6 +3582,8 @@ rs_tiocmset(struct tty_struct *tty, struct file *file, { struct e100_serial *info = (struct e100_serial *)tty->driver_data; + lock_kernel(); + if (clear & TIOCM_RTS) e100_rts(info, 0); if (clear & TIOCM_DTR) @@ -3601,6 +3603,8 @@ rs_tiocmset(struct tty_struct *tty, struct file *file, e100_ri_out(info, 1); if (set & TIOCM_CD) e100_cd_out(info, 1); + + unlock_kernel(); return 0; } @@ -3610,6 +3614,7 @@ rs_tiocmget(struct tty_struct *tty, struct file *file) struct e100_serial *info = (struct e100_serial *)tty->driver_data; unsigned int result; + lock_kernel(); result = (!E100_RTS_GET(info) ? TIOCM_RTS : 0) | (!E100_DTR_GET(info) ? TIOCM_DTR : 0) @@ -3618,6 +3623,8 @@ rs_tiocmget(struct tty_struct *tty, struct file *file) | (!E100_CD_GET(info) ? TIOCM_CAR : 0) | (!E100_CTS_GET(info) ? TIOCM_CTS : 0); + unlock_kernel(); + #ifdef SERIAL_DEBUG_IO printk(KERN_DEBUG "ser%i: modem state: %i 0x%08X\n", info->line, result, result);