• H
    serial: imx: reset the uart port all the time · 772f8991
    Huang Shijie 提交于
    Current code resets the uart port only when it supports the irda mode.
    In actually, we also need to reset the uart port in the non-irda mode.
    A hang was caught in the following case:
    
        UART A transmits data to the other end. But the transmission maybe
        terminated. In some corner case, the TX FIFO maybe not empty.
    
    The kernel will hang at the imx_set_termios():
    	............................................................
    	while (!(readl(sport->port.membase + USR2) & USR2_TXDC))
    		barrier();
    	............................................................
    
    This patch resets the uart port all the time in the imx_startup().
    And fix the hang.
    Signed-off-by: NHuang Shijie <b32955@freescale.com>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    772f8991
imx.c 51.3 KB