]> 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>
Wed, 18 Jan 2023 10:42:06 +0000 (11:42 +0100)
commit6b1a657f1a5f9c2cb35c09f60256006493614b9d
tree252301a762425ae50c262ef70ad331678adb3f00
parent96efd38486acf3d6d15a8bb86ea7e5d7329739ec
tty: serial: tegra: Handle RX transfer in PIO mode if DMA wasn't started

commit 55e17a0a60ab90f1bf4d0254c678bcc6a8d53363 upstream.

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