]> git.baikalelectronics.ru Git - kernel.git/commit
tty: serial: tegra: Handle RX transfer in PIO mode if DMA wasn't started
authorDmitry Osipenko <digetx@gmail.com>
Sun, 9 Feb 2020 16:44:15 +0000 (19:44 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 10 Feb 2020 20:32:13 +0000 (12:32 -0800)
commit55e17a0a60ab90f1bf4d0254c678bcc6a8d53363
tree6862f4219935efdd44f7f77f115941091011978e
parent0341fd42e2dfabf5f779143c16e87753796c1e68
tty: serial: tegra: Handle RX transfer in PIO mode if DMA wasn't started

It is possible to get an instant RX timeout or end-of-transfer interrupt
before RX DMA was started, if transaction is less than 16 bytes. Transfer
should be handled in PIO mode in this case because DMA can't handle it.
This patch brings back the original behaviour of the driver that was
changed by accident by a previous commit, it fixes occasional Bluetooth HW
initialization failures which I started to notice recently.

Fixes: 5593a37379f0 ("tty: serial: tegra: Activate RX DMA transfer by request")
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Link: https://lore.kernel.org/r/20200209164415.9632-1-digetx@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/serial-tegra.c