Message ID | 1426228691-20529-1-git-send-email-jiada_wang@mentor.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Mar 13, 2015 at 03:38:11PM +0900, Jiada Wang wrote: > Previously Soft Reset (clear of SRST bit in UCR2 register) > of UART in startup is not protected by lock, which may have race > with console_write, as console_write may occur at anytime even > when UART port is shutdown. > > To avoid this race, protect Soft reset of UART port with spin_lock. > > Signed-off-by: Jiada Wang <jiada_wang@mentor.com> > --- > drivers/tty/serial/imx.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) Doesn't apply to my tree :(
Hi Greg On 03/27/2015 07:01 AM, Greg KH wrote: > On Fri, Mar 13, 2015 at 03:38:11PM +0900, Jiada Wang wrote: >> Previously Soft Reset (clear of SRST bit in UCR2 register) >> of UART in startup is not protected by lock, which may have race >> with console_write, as console_write may occur at anytime even >> when UART port is shutdown. >> >> To avoid this race, protect Soft reset of UART port with spin_lock. >> >> Signed-off-by: Jiada Wang <jiada_wang@mentor.com> >> --- >> drivers/tty/serial/imx.c | 12 ++++++------ >> 1 file changed, 6 insertions(+), 6 deletions(-) > Doesn't apply to my tree :( Can you tell me which tree are you using? so that I can submit another patch based same tree. Thanks, Jiada
On Mon, Apr 13, 2015 at 03:52:01PM +0900, jiwang wrote: > Hi Greg > > On 03/27/2015 07:01 AM, Greg KH wrote: > >On Fri, Mar 13, 2015 at 03:38:11PM +0900, Jiada Wang wrote: > >>Previously Soft Reset (clear of SRST bit in UCR2 register) > >>of UART in startup is not protected by lock, which may have race > >>with console_write, as console_write may occur at anytime even > >>when UART port is shutdown. > >> > >>To avoid this race, protect Soft reset of UART port with spin_lock. > >> > >>Signed-off-by: Jiada Wang <jiada_wang@mentor.com> > >>--- > >> drivers/tty/serial/imx.c | 12 ++++++------ > >> 1 file changed, 6 insertions(+), 6 deletions(-) > >Doesn't apply to my tree :( > Can you tell me which tree are you using? > so that I can submit another patch based same tree. Always either work off of linux-next, or my tty tree, and the tty-next branch of it on git.kernel.org. What tree were you working against, Linus's? If so, please read Documentation/development_process to get an understanding of how the kernel development process works. thanks, greg k-h
diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c index 0eb29b1..f81ccb1 100644 --- a/drivers/tty/serial/imx.c +++ b/drivers/tty/serial/imx.c @@ -1165,6 +1165,12 @@ static int imx_startup(struct uart_port *port) writel(temp & ~UCR4_DREN, sport->port.membase + UCR4); + /* Can we enable the DMA support? */ + if (is_imx6q_uart(sport) && !uart_console(port) && + !sport->dma_is_inited) + imx_uart_dma_init(sport); + + spin_lock_irqsave(&sport->port.lock, flags); /* Reset fifo's and state machines */ i = 100; @@ -1175,12 +1181,6 @@ static int imx_startup(struct uart_port *port) while (!(readl(sport->port.membase + UCR2) & UCR2_SRST) && (--i > 0)) udelay(1); - /* Can we enable the DMA support? */ - if (is_imx6q_uart(sport) && !uart_console(port) && - !sport->dma_is_inited) - imx_uart_dma_init(sport); - - spin_lock_irqsave(&sport->port.lock, flags); /* * Finally, clear and enable interrupts */
Previously Soft Reset (clear of SRST bit in UCR2 register) of UART in startup is not protected by lock, which may have race with console_write, as console_write may occur at anytime even when UART port is shutdown. To avoid this race, protect Soft reset of UART port with spin_lock. Signed-off-by: Jiada Wang <jiada_wang@mentor.com> --- drivers/tty/serial/imx.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)