]> git.baikalelectronics.ru Git - kernel.git/commit
pch_uart: Fix dma channel unallocated issue
authorTomoya MORINAGA <tomoya.rohm@gmail.com>
Thu, 12 Apr 2012 01:47:50 +0000 (10:47 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Apr 2012 22:19:50 +0000 (15:19 -0700)
commit5fcf154642f385e713367e46e05fbc10393baf0a
tree588d1835847ccec5009c9ab744ca6a2de554bce7
parent0f29ad4bd836f955e8b513187c818ddb9a67c95e
pch_uart: Fix dma channel unallocated issue

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: Tomoya MORINAGA <tomoya.rohm@gmail.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/pch_uart.c