From: Greg Kroah-Hartman Date: Thu, 13 Feb 2020 18:31:10 +0000 (-0800) Subject: 4.14-stable patches X-Git-Tag: v4.4.214~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fdd8e69c4a034ff0981f3c735a4b13fef646b098;p=thirdparty%2Fkernel%2Fstable-queue.git 4.14-stable patches added patches: serial-uartps-move-the-spinlock-after-the-read-of-the-tx-empty.patch --- diff --git a/queue-4.14/serial-uartps-move-the-spinlock-after-the-read-of-the-tx-empty.patch b/queue-4.14/serial-uartps-move-the-spinlock-after-the-read-of-the-tx-empty.patch new file mode 100644 index 00000000000..ac5de9e16d8 --- /dev/null +++ b/queue-4.14/serial-uartps-move-the-spinlock-after-the-read-of-the-tx-empty.patch @@ -0,0 +1,40 @@ +From 107475685abfdee504bb0ef4824f15797f6d2d4d Mon Sep 17 00:00:00 2001 +From: Shubhrajyoti Datta +Date: Fri, 24 May 2019 14:41:28 +0530 +Subject: serial: uartps: Move the spinlock after the read of the tx empty + +From: Shubhrajyoti Datta + +commit 107475685abfdee504bb0ef4824f15797f6d2d4d upstream. + +Currently we are doing a read of the status register. +Move the spinlock after that as the reads need not be spinlock +protected. This patch prevents relaxing the cpu with spinlock held. + +Signed-off-by: Shubhrajyoti Datta +Cc: Pavel Machek +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/tty/serial/xilinx_uartps.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +--- a/drivers/tty/serial/xilinx_uartps.c ++++ b/drivers/tty/serial/xilinx_uartps.c +@@ -690,8 +690,6 @@ static void cdns_uart_set_termios(struct + unsigned int ctrl_reg, mode_reg, val; + int err; + +- spin_lock_irqsave(&port->lock, flags); +- + /* Wait for the transmit FIFO to empty before making changes */ + if (!(readl(port->membase + CDNS_UART_CR) & + CDNS_UART_CR_TX_DIS)) { +@@ -703,6 +701,7 @@ static void cdns_uart_set_termios(struct + return; + } + } ++ spin_lock_irqsave(&port->lock, flags); + + /* Disable the TX and RX to set baud rate */ + ctrl_reg = readl(port->membase + CDNS_UART_CR); diff --git a/queue-4.14/series b/queue-4.14/series index e8549eec34b..9c5e1e507b1 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -167,6 +167,7 @@ media-i2c-adv748x-fix-unsafe-macros.patch pinctrl-sh-pfc-r8a7778-fix-duplicate-sdself_b-and-sd1_clk_b.patch scsi-megaraid_sas-do-not-initiate-ocr-if-controller-is-not-in-ready-state.patch dm-fix-potential-for-q-make_request_fn-null-pointer.patch +serial-uartps-move-the-spinlock-after-the-read-of-the-tx-empty.patch mwifiex-fix-possible-buffer-overflows-in-mwifiex_ret.patch mwifiex-fix-possible-buffer-overflows-in-mwifiex_cmd.patch libertas-don-t-exit-from-lbs_ibss_join_existing-with.patch