• Tomoya MORINAGA's avatar
    pch_uart: Fix dma channel unallocated issue · af6d17cd
    Tomoya MORINAGA authored
    This driver anticipates pch_uart_verify_port() is not called
    during installation.
    However, actually pch_uart_verify_port() is called during
    installation.
    As a result, memory access violation occurs like below.
    
    0. initial value: use_dma=0
    1. starup()
        - dma channel is not allocated because use_dma=0
    2. pch_uart_verify_port()
        - Set use_dma=1
    3. UART processing acts DMA mode because use_dma=1
         - memory access violation occurs!
    
    This patch fixes the issue.
    
    Solution:
    Whenever pch_uart_verify_port() is called and then
    dma channel is not allocated, the channel should be allocated.
    Signed-off-by: default avatarTomoya MORINAGA <tomoya.rohm@gmail.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    af6d17cd
pch_uart.c 47 KB