s5j/serial: fix UART problem caused by executing ioctl()'s TCSETS
authorWonsang Ryou <wonsang.yoo@samsung.com>
Mon, 21 Aug 2017 15:51:40 +0000 (00:51 +0900)
committersunghan <sh924.chang@samsung.com>
Wed, 20 Sep 2017 07:53:03 +0000 (16:53 +0900)
This patch fixes UART commucation problem that occurs after executing
ioctl()'s TCSETS case. Because the TCSETS executes up_setup() which
disables all interrupts, UART commucation will be blocked after doing
ioctl()'s TCSETS case. In ioctl()'s TCSETS case, this patch replaces
up_setup() with up_configure(). The up_configure() function configures
baud, bits, parity and etc. without disabling all interrupts.

Change-Id: I43c624c13e37d883553ca0b0f498fb9a1663150d
Signed-off-by: Wonsang Ryou <wonsang.yoo@samsung.com>
os/arch/arm/src/s5j/s5j_serial.c

index 1a9b5c1..6e0c53c 100644 (file)
@@ -565,7 +565,7 @@ static int up_ioctl(struct file *filep, int cmd, unsigned long arg)
 
                priv->baud = cfgetispeed(termiosp);
 
-               dev->ops->setup(dev);
+               up_configure(priv);
                break;
 
        default: