On Wed, Feb 26, 2020 at 11:37:17AM +0100, gregkh@linuxfoundation.org wrote:
The patch below does not apply to the 4.19-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to stable@vger.kernel.org.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 679aac5ead2f18d223554a52b543e1195e181811 Mon Sep 17 00:00:00 2001 From: satya priya skakit@codeaurora.org Date: Tue, 11 Feb 2020 15:43:02 +0530 Subject: [PATCH] tty: serial: qcom_geni_serial: Fix RX cancel command failure
RX cancel command fails when BT is switched on and off multiple times.
To handle this, poll for the cancel bit in SE_GENI_S_IRQ_STATUS register instead of SE_GENI_S_CMD_CTRL_REG.
As per the HPG update, handle the RX last bit after cancel command and flush out the RX FIFO buffer.
Signed-off-by: satya priya skakit@codeaurora.org Cc: stable stable@vger.kernel.org Link: https://lore.kernel.org/r/1581415982-8793-1-git-send-email-skakit@codeaurora... Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
For 4.19, I took this mix of cleanups and fixes:
bdc05a8a3f82 ("tty: serial: qcom_geni_serial: Remove xfer_mode variable") 9e06d55f7b85 ("tty: serial: qcom_geni_serial: Remove use of *_relaxed() and mb()") 64a428077758 ("tty: serial: qcom_geni_serial: Remove interrupt storm") a85fb9ce1fab ("tty: serial: qcom_geni_serial: Remove set_rfr_wm() and related variables") 663abb1a7a7f ("tty: serial: qcom_geni_serial: Fix UART hang")
This patch isn't needed on older kernels.