tty: n_gsm: fix flow control handling in tx path
authorDaniel Starke <daniel.starke@siemens.com>
Thu, 7 Jul 2022 11:32:22 +0000 (13:32 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Jul 2022 13:14:53 +0000 (15:14 +0200)
commit59ff0680ecbfec742b1e0381e7cc46b41eb06647
tree1a42350a4d6b827ec2dfcff161e462e07af000a4
parent18a948c7d90995d127785e308fa7b701df4c499f
tty: n_gsm: fix flow control handling in tx path

The current implementation constipates all transmission paths during flow
control except for flow control frames. However, these may not be located
at the beginning of the transmission queue of the control channel.
Ensure that flow control frames in the transmission queue for the control
channel are always handled even if constipated by skipping through other
messages.

Fixes: 0af021678d5d ("tty: n_gsm: fix deadlock and link starvation in outgoing data path")
Signed-off-by: Daniel Starke <daniel.starke@siemens.com>
Link: https://lore.kernel.org/r/20220707113223.3685-3-daniel.starke@siemens.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/n_gsm.c