diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2022-01-31 10:10:54 +0100 |
---|---|---|
committer | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2022-01-31 10:10:54 +0100 |
commit | 20dfb35764a8c0c3ec89d7ac3c78e645cefa9a61 (patch) | |
tree | d60355f7fb471d8de21d3c168abb54e8617a77ee | |
parent | 9383fbe3afce85b624e57990885ae0703c499ad1 (diff) | |
download | linux-rt-20dfb35764a8c0c3ec89d7ac3c78e645cefa9a61.tar.gz |
[ANNOUNCE] v5.17-rc2-rt3v5.17-rc2-rt3-patches
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
-rw-r--r-- | patches/Add_localversion_for_-RT_release.patch | 2 | ||||
-rw-r--r-- | patches/Revert-tty-serial-Use-fifo-in-8250-console-driver.patch | 122 | ||||
-rw-r--r-- | patches/series | 3 | ||||
-rw-r--r-- | patches/tcp-Add-a-stub-for-sk_defer_free_flush.patch | 43 | ||||
-rw-r--r-- | patches/tcp-add-a-missing-sk_defer_free_flush-in-tcp_splice_.patch | 29 |
5 files changed, 1 insertions, 198 deletions
diff --git a/patches/Add_localversion_for_-RT_release.patch b/patches/Add_localversion_for_-RT_release.patch index d960d516454d..53b69a97ca19 100644 --- a/patches/Add_localversion_for_-RT_release.patch +++ b/patches/Add_localversion_for_-RT_release.patch @@ -15,4 +15,4 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> --- /dev/null +++ b/localversion-rt @@ -0,0 +1 @@ -+-rt2 ++-rt3 diff --git a/patches/Revert-tty-serial-Use-fifo-in-8250-console-driver.patch b/patches/Revert-tty-serial-Use-fifo-in-8250-console-driver.patch deleted file mode 100644 index 3d073a2fb1d4..000000000000 --- a/patches/Revert-tty-serial-Use-fifo-in-8250-console-driver.patch +++ /dev/null @@ -1,122 +0,0 @@ -From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -Date: Wed, 26 Jan 2022 14:33:58 +0100 -Subject: [PATCH] Revert "tty: serial: Use fifo in 8250 console driver" - -This reverts commit 5021d709b31b8a14317998a33cbc78be0de9ab30. - -The patch is still a bit buggy, and this breaks some other hardware -types. It needs to be resubmitted in a non-buggy way, and make sure the -other hardware types also continue to work properly. - -Fixes: 5021d709b31b ("tty: serial: Use fifo in 8250 console driver") -Reported-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> -Reported-by: Jon Hunter <jonathanh@nvidia.com> -Link: https://lore.kernel.org/r/Ye/1+Z8mEzbKbrqG@linutronix.de -Link: https://lore.kernel.org/r/a1ac6254-f79e-d131-fa2a-c7ad714c6d4a@nvidia.com -Cc: Wander Lairson Costa <wander@redhat.com> -Cc: Andy Shevchenko <andy.shevchenko@gmail.com> -Cc: Jiri Slaby <jirislaby@kernel.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> ---- - drivers/tty/serial/8250/8250_port.c | 61 +++--------------------------------- - 1 file changed, 6 insertions(+), 55 deletions(-) - ---- a/drivers/tty/serial/8250/8250_port.c -+++ b/drivers/tty/serial/8250/8250_port.c -@@ -2056,7 +2056,10 @@ static void serial8250_break_ctl(struct - serial8250_rpm_put(up); - } - --static void wait_for_lsr(struct uart_8250_port *up, int bits) -+/* -+ * Wait for transmitter & holding register to empty -+ */ -+static void wait_for_xmitr(struct uart_8250_port *up, int bits) - { - unsigned int status, tmout = 10000; - -@@ -2073,16 +2076,6 @@ static void wait_for_lsr(struct uart_825 - udelay(1); - touch_nmi_watchdog(); - } --} -- --/* -- * Wait for transmitter & holding register to empty -- */ --static void wait_for_xmitr(struct uart_8250_port *up, int bits) --{ -- unsigned int tmout; -- -- wait_for_lsr(up, bits); - - /* Wait up to 1s for flow control if necessary */ - if (up->port.flags & UPF_CONS_FLOW) { -@@ -3333,35 +3326,6 @@ static void serial8250_console_restore(s - } - - /* -- * Print a string to the serial port using the device FIFO -- * -- * It sends fifosize bytes and then waits for the fifo -- * to get empty. -- */ --static void serial8250_console_fifo_write(struct uart_8250_port *up, -- const char *s, unsigned int count) --{ -- int i; -- const char *end = s + count; -- unsigned int fifosize = up->port.fifosize; -- bool cr_sent = false; -- -- while (s != end) { -- wait_for_lsr(up, UART_LSR_THRE); -- -- for (i = 0; i < fifosize && s != end; ++i) { -- if (*s == '\n' && !cr_sent) { -- serial_out(up, UART_TX, '\r'); -- cr_sent = true; -- } else { -- serial_out(up, UART_TX, *s++); -- cr_sent = false; -- } -- } -- } --} -- --/* - * Print a string to the serial port trying not to disturb - * any possible real use of the port... - * -@@ -3376,7 +3340,7 @@ void serial8250_console_write(struct uar - struct uart_8250_em485 *em485 = up->em485; - struct uart_port *port = &up->port; - unsigned long flags; -- unsigned int ier, use_fifo; -+ unsigned int ier; - int locked = 1; - - touch_nmi_watchdog(); -@@ -3408,20 +3372,7 @@ void serial8250_console_write(struct uar - mdelay(port->rs485.delay_rts_before_send); - } - -- use_fifo = (up->capabilities & UART_CAP_FIFO) && -- port->fifosize > 1 && -- (serial_port_in(port, UART_FCR) & UART_FCR_ENABLE_FIFO) && -- /* -- * After we put a data in the fifo, the controller will send -- * it regardless of the CTS state. Therefore, only use fifo -- * if we don't use control flow. -- */ -- !(up->port.flags & UPF_CONS_FLOW); -- -- if (likely(use_fifo)) -- serial8250_console_fifo_write(up, s, count); -- else -- uart_console_write(port, s, count, serial8250_console_putchar); -+ uart_console_write(port, s, count, serial8250_console_putchar); - - /* - * Finally, wait for transmitter to become empty diff --git a/patches/series b/patches/series index b87316613264..c647129a82a0 100644 --- a/patches/series +++ b/patches/series @@ -1,7 +1,4 @@ # Applied upstream -tcp-Add-a-stub-for-sk_defer_free_flush.patch -tcp-add-a-missing-sk_defer_free_flush-in-tcp_splice_.patch -Revert-tty-serial-Use-fifo-in-8250-console-driver.patch ########################################################################### # John's printk queue diff --git a/patches/tcp-Add-a-stub-for-sk_defer_free_flush.patch b/patches/tcp-Add-a-stub-for-sk_defer_free_flush.patch deleted file mode 100644 index f5ac7fa6c913..000000000000 --- a/patches/tcp-Add-a-stub-for-sk_defer_free_flush.patch +++ /dev/null @@ -1,43 +0,0 @@ -From: Gal Pressman <gal@nvidia.com> -Date: Thu, 20 Jan 2022 14:34:40 +0200 -Subject: [PATCH] tcp: Add a stub for sk_defer_free_flush() - -When compiling the kernel with CONFIG_INET disabled, the -sk_defer_free_flush() should be defined as a nop. - -This resolves the following compilation error: - ld: net/core/sock.o: in function `sk_defer_free_flush': - ./include/net/tcp.h:1378: undefined reference to `__sk_defer_free_flush' - -Fixes: 79074a72d335 ("net: Flush deferred skb free on socket destroy") -Reported-by: kernel test robot <lkp@intel.com> -Reviewed-by: Tariq Toukan <tariqt@nvidia.com> -Signed-off-by: Gal Pressman <gal@nvidia.com> -Reviewed-by: Eric Dumazet <edumazet@google.com> -Link: https://lore.kernel.org/r/20220120123440.9088-1-gal@nvidia.com -Signed-off-by: Jakub Kicinski <kuba@kernel.org> -Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> ---- - include/net/tcp.h | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/include/net/tcp.h -+++ b/include/net/tcp.h -@@ -1369,6 +1369,7 @@ static inline bool tcp_checksum_complete - - bool tcp_add_backlog(struct sock *sk, struct sk_buff *skb); - -+#ifdef CONFIG_INET - void __sk_defer_free_flush(struct sock *sk); - - static inline void sk_defer_free_flush(struct sock *sk) -@@ -1377,6 +1378,9 @@ static inline void sk_defer_free_flush(s - return; - __sk_defer_free_flush(sk); - } -+#else -+static inline void sk_defer_free_flush(struct sock *sk) {} -+#endif - - int tcp_filter(struct sock *sk, struct sk_buff *skb); - void tcp_set_state(struct sock *sk, int state); diff --git a/patches/tcp-add-a-missing-sk_defer_free_flush-in-tcp_splice_.patch b/patches/tcp-add-a-missing-sk_defer_free_flush-in-tcp_splice_.patch deleted file mode 100644 index 40691bbaf231..000000000000 --- a/patches/tcp-add-a-missing-sk_defer_free_flush-in-tcp_splice_.patch +++ /dev/null @@ -1,29 +0,0 @@ -From: Eric Dumazet <edumazet@google.com> -Date: Thu, 20 Jan 2022 04:45:30 -0800 -Subject: [PATCH] tcp: add a missing sk_defer_free_flush() in tcp_splice_read() - -Without it, splice users can hit the warning -added in commit 79074a72d335 ("net: Flush deferred skb free on socket destroy") - -Fixes: f35f821935d8 ("tcp: defer skb freeing after socket lock is released") -Fixes: 79074a72d335 ("net: Flush deferred skb free on socket destroy") -Suggested-by: Jakub Kicinski <kuba@kernel.org> -Signed-off-by: Eric Dumazet <edumazet@google.com> -Cc: Gal Pressman <gal@nvidia.com> -Link: https://lore.kernel.org/r/20220120124530.925607-1-eric.dumazet@gmail.com -Signed-off-by: Jakub Kicinski <kuba@kernel.org> -Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> ---- - net/ipv4/tcp.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/net/ipv4/tcp.c -+++ b/net/ipv4/tcp.c -@@ -842,6 +842,7 @@ ssize_t tcp_splice_read(struct socket *s - } - - release_sock(sk); -+ sk_defer_free_flush(sk); - - if (spliced) - return spliced; |