release 6.12.6
This commit is contained in:
parent
efeeb92dda
commit
d1cc1656f5
7
debian/changelog
vendored
7
debian/changelog
vendored
@ -1,3 +1,10 @@
|
|||||||
|
linux (6.12.6-1) sid; urgency=medium
|
||||||
|
|
||||||
|
* New upstream stable update:
|
||||||
|
https://www.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.6
|
||||||
|
|
||||||
|
-- Konstantin Demin <rockdrilla@gmail.com> Thu, 19 Dec 2024 21:00:52 +0300
|
||||||
|
|
||||||
linux (6.12.5-1) sid; urgency=medium
|
linux (6.12.5-1) sid; urgency=medium
|
||||||
|
|
||||||
* New upstream stable update:
|
* New upstream stable update:
|
||||||
|
@ -30,7 +30,7 @@ this reverts following commit:
|
|||||||
|
|
||||||
--- a/tools/objtool/check.c
|
--- a/tools/objtool/check.c
|
||||||
+++ b/tools/objtool/check.c
|
+++ b/tools/objtool/check.c
|
||||||
@@ -4922,10 +4922,14 @@ int check(struct objtool_file *file)
|
@@ -4925,10 +4925,14 @@ int check(struct objtool_file *file)
|
||||||
}
|
}
|
||||||
|
|
||||||
out:
|
out:
|
||||||
|
@ -56,7 +56,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
|
|||||||
struct rate_sample *rs);
|
struct rate_sample *rs);
|
||||||
--- a/net/ipv4/tcp_output.c
|
--- a/net/ipv4/tcp_output.c
|
||||||
+++ b/net/ipv4/tcp_output.c
|
+++ b/net/ipv4/tcp_output.c
|
||||||
@@ -2765,6 +2765,7 @@ static bool tcp_write_xmit(struct sock *
|
@@ -2767,6 +2767,7 @@ static bool tcp_write_xmit(struct sock *
|
||||||
skb_set_delivery_time(skb, tp->tcp_wstamp_ns, SKB_CLOCK_MONOTONIC);
|
skb_set_delivery_time(skb, tp->tcp_wstamp_ns, SKB_CLOCK_MONOTONIC);
|
||||||
list_move_tail(&skb->tcp_tsorted_anchor, &tp->tsorted_sent_queue);
|
list_move_tail(&skb->tcp_tsorted_anchor, &tp->tsorted_sent_queue);
|
||||||
tcp_init_tso_segs(skb, mss_now);
|
tcp_init_tso_segs(skb, mss_now);
|
||||||
|
@ -55,7 +55,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
|
|||||||
* between different flows.
|
* between different flows.
|
||||||
--- a/net/ipv4/tcp_output.c
|
--- a/net/ipv4/tcp_output.c
|
||||||
+++ b/net/ipv4/tcp_output.c
|
+++ b/net/ipv4/tcp_output.c
|
||||||
@@ -1601,7 +1601,7 @@ int tcp_fragment(struct sock *sk, enum t
|
@@ -1603,7 +1603,7 @@ int tcp_fragment(struct sock *sk, enum t
|
||||||
{
|
{
|
||||||
struct tcp_sock *tp = tcp_sk(sk);
|
struct tcp_sock *tp = tcp_sk(sk);
|
||||||
struct sk_buff *buff;
|
struct sk_buff *buff;
|
||||||
@ -64,7 +64,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
|
|||||||
long limit;
|
long limit;
|
||||||
int nlen;
|
int nlen;
|
||||||
u8 flags;
|
u8 flags;
|
||||||
@@ -1676,6 +1676,30 @@ int tcp_fragment(struct sock *sk, enum t
|
@@ -1678,6 +1678,30 @@ int tcp_fragment(struct sock *sk, enum t
|
||||||
|
|
||||||
if (diff)
|
if (diff)
|
||||||
tcp_adjust_pcount(sk, skb, diff);
|
tcp_adjust_pcount(sk, skb, diff);
|
||||||
|
@ -97,7 +97,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
|
|||||||
};
|
};
|
||||||
--- a/net/ipv4/tcp_output.c
|
--- a/net/ipv4/tcp_output.c
|
||||||
+++ b/net/ipv4/tcp_output.c
|
+++ b/net/ipv4/tcp_output.c
|
||||||
@@ -2057,13 +2057,12 @@ static u32 tcp_tso_autosize(const struct
|
@@ -2059,13 +2059,12 @@ static u32 tcp_tso_autosize(const struct
|
||||||
static u32 tcp_tso_segs(struct sock *sk, unsigned int mss_now)
|
static u32 tcp_tso_segs(struct sock *sk, unsigned int mss_now)
|
||||||
{
|
{
|
||||||
const struct tcp_congestion_ops *ca_ops = inet_csk(sk)->icsk_ca_ops;
|
const struct tcp_congestion_ops *ca_ops = inet_csk(sk)->icsk_ca_ops;
|
||||||
|
@ -35,7 +35,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
|
|||||||
fastopen_no_cookie:1, /* Allow send/recv SYN+data without a cookie */
|
fastopen_no_cookie:1, /* Allow send/recv SYN+data without a cookie */
|
||||||
--- a/net/ipv4/tcp_output.c
|
--- a/net/ipv4/tcp_output.c
|
||||||
+++ b/net/ipv4/tcp_output.c
|
+++ b/net/ipv4/tcp_output.c
|
||||||
@@ -3003,6 +3003,7 @@ void tcp_send_loss_probe(struct sock *sk
|
@@ -3005,6 +3005,7 @@ void tcp_send_loss_probe(struct sock *sk
|
||||||
if (WARN_ON(!skb || !tcp_skb_pcount(skb)))
|
if (WARN_ON(!skb || !tcp_skb_pcount(skb)))
|
||||||
goto rearm_timer;
|
goto rearm_timer;
|
||||||
|
|
||||||
|
45
debian/patches/patchset-pf/fixes/0003-USB-core-Disable-LPM-only-for-non-suspended-ports.patch
vendored
Normal file
45
debian/patches/patchset-pf/fixes/0003-USB-core-Disable-LPM-only-for-non-suspended-ports.patch
vendored
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
From 1c45e81769d174d02a26a61e3919313fa3b16120 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kai-Heng Feng <kaihengf@nvidia.com>
|
||||||
|
Date: Fri, 6 Dec 2024 15:48:17 +0800
|
||||||
|
Subject: USB: core: Disable LPM only for non-suspended ports
|
||||||
|
|
||||||
|
There's USB error when tegra board is shutting down:
|
||||||
|
[ 180.919315] usb 2-3: Failed to set U1 timeout to 0x0,error code -113
|
||||||
|
[ 180.919995] usb 2-3: Failed to set U1 timeout to 0xa,error code -113
|
||||||
|
[ 180.920512] usb 2-3: Failed to set U2 timeout to 0x4,error code -113
|
||||||
|
[ 186.157172] tegra-xusb 3610000.usb: xHCI host controller not responding, assume dead
|
||||||
|
[ 186.157858] tegra-xusb 3610000.usb: HC died; cleaning up
|
||||||
|
[ 186.317280] tegra-xusb 3610000.usb: Timeout while waiting for evaluate context command
|
||||||
|
|
||||||
|
The issue is caused by disabling LPM on already suspended ports.
|
||||||
|
|
||||||
|
For USB2 LPM, the LPM is already disabled during port suspend. For USB3
|
||||||
|
LPM, port won't transit to U1/U2 when it's already suspended in U3,
|
||||||
|
hence disabling LPM is only needed for ports that are not suspended.
|
||||||
|
|
||||||
|
Cc: Wayne Chang <waynec@nvidia.com>
|
||||||
|
Cc: stable@vger.kernel.org
|
||||||
|
Fixes: d920a2ed8620 ("usb: Disable USB3 LPM at shutdown")
|
||||||
|
Signed-off-by: Kai-Heng Feng <kaihengf@nvidia.com>
|
||||||
|
Acked-by: Alan Stern <stern@rowland.harvard.edu>
|
||||||
|
---
|
||||||
|
drivers/usb/core/port.c | 7 ++++---
|
||||||
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
--- a/drivers/usb/core/port.c
|
||||||
|
+++ b/drivers/usb/core/port.c
|
||||||
|
@@ -452,10 +452,11 @@ static int usb_port_runtime_suspend(stru
|
||||||
|
static void usb_port_shutdown(struct device *dev)
|
||||||
|
{
|
||||||
|
struct usb_port *port_dev = to_usb_port(dev);
|
||||||
|
+ struct usb_device *udev = port_dev->child;
|
||||||
|
|
||||||
|
- if (port_dev->child) {
|
||||||
|
- usb_disable_usb2_hardware_lpm(port_dev->child);
|
||||||
|
- usb_unlocked_disable_lpm(port_dev->child);
|
||||||
|
+ if (udev && !udev->port_is_suspended) {
|
||||||
|
+ usb_disable_usb2_hardware_lpm(udev);
|
||||||
|
+ usb_unlocked_disable_lpm(udev);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -126,7 +126,7 @@ Reviewed-by: Christoph Hellwig <hch@lst.de>
|
|||||||
/*
|
/*
|
||||||
--- a/fs/xfs/xfs_trans.c
|
--- a/fs/xfs/xfs_trans.c
|
||||||
+++ b/fs/xfs/xfs_trans.c
|
+++ b/fs/xfs/xfs_trans.c
|
||||||
@@ -1262,11 +1262,26 @@ retry:
|
@@ -1254,11 +1254,26 @@ retry:
|
||||||
gdqp = (new_gdqp != ip->i_gdquot) ? new_gdqp : NULL;
|
gdqp = (new_gdqp != ip->i_gdquot) ? new_gdqp : NULL;
|
||||||
pdqp = (new_pdqp != ip->i_pdquot) ? new_pdqp : NULL;
|
pdqp = (new_pdqp != ip->i_pdquot) ? new_pdqp : NULL;
|
||||||
if (udqp || gdqp || pdqp) {
|
if (udqp || gdqp || pdqp) {
|
||||||
@ -153,7 +153,7 @@ Reviewed-by: Christoph Hellwig <hch@lst.de>
|
|||||||
/*
|
/*
|
||||||
* Reserve enough quota to handle blocks on disk and reserved
|
* Reserve enough quota to handle blocks on disk and reserved
|
||||||
* for a delayed allocation. We'll actually transfer the
|
* for a delayed allocation. We'll actually transfer the
|
||||||
@@ -1274,8 +1289,20 @@ retry:
|
@@ -1266,8 +1281,20 @@ retry:
|
||||||
* though that part is only semi-transactional.
|
* though that part is only semi-transactional.
|
||||||
*/
|
*/
|
||||||
error = xfs_trans_reserve_quota_bydquots(tp, mp, udqp, gdqp,
|
error = xfs_trans_reserve_quota_bydquots(tp, mp, udqp, gdqp,
|
||||||
|
@ -11,7 +11,7 @@ Signed-off-by: Alexandre Frade <kernel@xanmod.org>
|
|||||||
|
|
||||||
--- a/include/linux/blkdev.h
|
--- a/include/linux/blkdev.h
|
||||||
+++ b/include/linux/blkdev.h
|
+++ b/include/linux/blkdev.h
|
||||||
@@ -615,7 +615,8 @@ enum {
|
@@ -613,7 +613,8 @@ enum {
|
||||||
QUEUE_FLAG_MAX
|
QUEUE_FLAG_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
|
1
debian/patches/series
vendored
1
debian/patches/series
vendored
@ -305,5 +305,6 @@ patchset-zen/sauce/0024-ZEN-kernel-Kconfig.preempt-Remove-EXPERT-conditional.pat
|
|||||||
|
|
||||||
patchset-pf/fixes/0001-arch-Kconfig-Default-to-maximum-amount-of-ASLR-bits.patch
|
patchset-pf/fixes/0001-arch-Kconfig-Default-to-maximum-amount-of-ASLR-bits.patch
|
||||||
patchset-pf/fixes/0002-drivers-firmware-skip-simpledrm-if-nvidia-drm.modese.patch
|
patchset-pf/fixes/0002-drivers-firmware-skip-simpledrm-if-nvidia-drm.modese.patch
|
||||||
|
patchset-pf/fixes/0003-USB-core-Disable-LPM-only-for-non-suspended-ports.patch
|
||||||
|
|
||||||
patchset-zen/fixes/0001-futex-improve-user-space-accesses.patch
|
patchset-zen/fixes/0001-futex-improve-user-space-accesses.patch
|
||||||
|
Loading…
x
Reference in New Issue
Block a user