You are not logged in.

#26 2025-08-17 23:09:05

mmy8x
Member
Registered: 2025-03-02
Posts: 66

Re: [solved] linux-6.16 breaks waking usb from suspend

brian001 wrote:

6.16.0-rc2-1-mainline-00160-g89a33de31494 is bad

Thanks, this puts us in the first batch of changes that went into 6.16-rc1.

Pretty sure 882826f58b2c is also bad and almost certainly f27c6da58f11 too.
If you are lucky, 597f5c2f4128 is good and you could finish in 5 steps from there.

Or just keep going, you are on the right track.

Offline

#27 2025-08-17 23:46:23

brian001
Member
Registered: 2021-01-04
Posts: 30

Re: [solved] linux-6.16 breaks waking usb from suspend

6.15.0-1-mainline-11121-gfe4281644c62 is good.

Disabling rust did get my own bisect process rolling. I'll keep doing it, but it's slow with my compile times.

Offline

#28 2025-08-18 08:38:43

gromit
Administrator
From: Germany
Registered: 2024-02-10
Posts: 1,309
Website

Re: [solved] linux-6.16 breaks waking usb from suspend

Please try the following:

sudo pacman -U https://pkgbuild.com/\~gromit/linux-bisection-kernels/linux-mainline-v6.15.r12578.g5fc6c6f-1-x86_64.pkg.tar.zst

Offline

#29 2025-08-18 10:53:08

mmy8x
Member
Registered: 2025-03-02
Posts: 66

Re: [solved] linux-6.16 breaks waking usb from suspend

brian001 wrote:

6.15.0-1-mainline-11121-gfe4281644c62 is good.

Disabling rust did get my own bisect process rolling. I'll keep doing it, but it's slow with my compile times.

That's why I suggested cheating wink

Your bug is probably somewhere in this brief and linear history:

882826f58b2c (tag: usb-6.16-rc1) ALSA: usb-audio: qcom: fix USB_XHCI dependency
e2d8ae899760 ASoC: qdsp6: fix compile-testing without CONFIG_OF
662a9ece32ad usb: misc: onboard_usb_dev: fix build warning for CONFIG_USB_ONBOARD_DEV_USB5744=n
e60acc420368 usb: typec: tipd: fix typo in TPS_STATUS_HIGH_VOLAGE_WARNING macro
ae4432e01dd9 USB: typec: fix const issue in typec_match()
5f5cc794fac6 USB: gadget: udc: fix const issue in gadget_match_driver()
d1d89e8eee6f USB: gadget: fix up const issue with struct usb_function_instance
2596313a4d91 Merge tag 'usb-serial-6.16-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-next
d3a889482bd5 USB: serial: pl2303: add new chip PL2303GC-Q20 and PL2303GT-2AB
92cd405b6486 USB: serial: bus: fix const issue in usb_serial_device_match()
342e4955a1f1 usb: usbtmc: Fix timeout value in get_stb
acb3dac2805d usb: usbtmc: Fix read_stb function and get_stb ioctl
3335a1bbd624 ALSA: qc_audio_offload: try to reduce address space confusion
5c7ef5001292 ALSA: qc_audio_offload: avoid leaking xfer_buf allocation
485ae0859252 ALSA: qc_audio_offload: rename dma/iova/va/cpu/phys variables
e7144a2b3ac8 ALSA: usb-audio: qcom: Fix an error handling path in qc_usb_audio_probe()
1143d41922c0 usb: misc: onboard_usb_dev: Fix usb5744 initialization sequence
d01ccb5b62b7 dt-bindings: usb: ti,usb8041: Add binding for TI USB8044 hub controller
ab44b9259bb3 usb: misc: onboard_usb_dev: Add support for TI TUSB8044 hub
b48a2e0ba398 usb: gadget: lpc32xx_udc: Use USB API functions rather than constants
ebaac1027a26 usb: gadget: epautoconf: Use USB API functions rather than constants
48175e2e6eaf usb: dwc2: gadget: Use USB API functions rather than constants
eb25dcf0c594 usb: core: config: Use USB API functions rather than constants
657bfcbbfa38 usb: dwc3-exynos: add support for ExynosAutov920
6f399a100810 dt-bindings: usb: samsung,exynos-dwc3: add dt-schema ExynosAutov920
f4ecdc352646 usb: cdnsp: Fix issue with detecting command completion event
2852788cfbe9 usb: cdnsp: Fix issue with detecting USB 3.2 speed
89bb3dc13ac2 usb: Flush altsetting 0 endpoints before reinitializating them after reset.
e33ebb133a24 usb: dwc3: qcom: Use bulk clock API and devres
4f78a9c7b8e8 dt-bindings: usb: Add Parade PS8833 Type-C retimer variant
1c06aff9b82f usb: gadget: u_serial: Avoid double unlock of serial_port_lock
a541acceedf4 usb: storage: Ignore UAS driver for SanDisk 3.2 Gen2 storage device
19f795591947 usb: quirks: Add NO_LPM quirk for SanDisk Extreme 55AE
f9bd09ef2c04 usb: typec: tcpm: Use configured PD revision for negotiation
324d45e53f1a usb: typec: tcpm: move tcpm_queue_vdm_unlocked to asynchronous work
0736299d090f usb: typec: tcpm/tcpci_maxim: Fix bounds check in process_rx()
85c4aa0a4564 xhci: Add missing parameter description to xhci_get_endpoint_index()
f27c6da58f11 usb: xhci: rename 'irq_control' to 'imod'
bf9cce90da31 usb: xhci: rename 'irq_pending' to 'iman'
5f5816d190c1 usb: xhci: cleanup IMOD register comments
74d7a757e8bc usb: xhci: rework Event Ring Segment Table Address mask
7c6df26c3be7 usb: xhci: rework Event Ring Segment Table Size mask
e1db856bd288 usb: xhci: remove '0' write to write-1-to-clear register
f5bce30ad25e usb: xhci: guarantee that IMAN register is flushed
9f7f74735ac2 usb: xhci: improve Interrupt Management register macros
1fdeb069053f usb: xhci: set requested IMODI to the closest supported value
3d5b8a0e0af4 usb: xhci: cleanup xhci_mem_init()
83d98dea48eb usb: xhci: add individual allocation checks in xhci_mem_init()
daed871b67ab usb: xhci: move initialization of the primary interrupter
0ff49390aad8 usb: xhci: remove error handling from xhci_add_interrupter()
d41031bc8d80 usb: xhci: move enabling of USB 3 device notifications
943f7fddaa49 usb: xhci: move doorbell array pointer assignment
44455f666b4b usb: xhci: move DCBAA pointer write
1711b255484a usb: xhci: refactor xhci_set_cmd_ring_deq()
743cb737a62f usb: xhci: move command ring pointer write
84f007707f21 usb: xhci: move device slot enabling register write
22f9b3c2f33d usb: xhci: relocate pre-allocation initialization
59d50e53e070 usb: xhci: Add debugfs support for xHCI port bandwidth
597f5c2f4128 usb: xhci: Don't log transfer ring segment list on errors
6381f9950440 Merge tag 'thunderbolt-for-v6.16-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt into usb-next

My suggestion:

git checkout 597f5c2f4128   # probably good
# compile and test
# if it's bad then "git bisect bad" and continue your bisection normally, else
git checkout f27c6da58f11   # very likely bad
# compile (should be almost instant) and test
# if it's still good
git checkout 882826f58b2c   # almost certainly bad
# compile (should be fairly fast) and test

If you are lucky then 597f5c2f4128 is good and one of the later ones is bad (they should be), so start new bisection:

git bisect reset <either f27c6da58f11 or 882826f58b2c>
git bisect start
git bisect bad
git bisect good 597f5c2f4128

and enjoy having less than 10 steps and quick compile times.

edit:
And if you are unlucky and 597f5c2f4128 is bad then I would check if b85a2ebda103 is also bad. That would be another huge time saver if it works.

Last edited by mmy8x (2025-08-18 10:55:14)

Offline

#30 2025-08-18 13:36:37

brian001
Member
Registered: 2021-01-04
Posts: 30

Re: [solved] linux-6.16 breaks waking usb from suspend

6.15.0-1-mainline-12578-g5fc6c6f258b3 is good

Offline

#31 2025-08-18 14:23:18

gromit
Administrator
From: Germany
Registered: 2024-02-10
Posts: 1,309
Website

Re: [solved] linux-6.16 breaks waking usb from suspend

Please try this one next:

sudo pacman -U https://pkgbuild.com/\~gromit/linux-bisection-kernels/linux-mainline-v6.15.r13473.gc0c9379-1-x86_64.pkg.tar.zst

Offline

#32 2025-08-18 15:32:57

brian001
Member
Registered: 2021-01-04
Posts: 30

Re: [solved] linux-6.16 breaks waking usb from suspend

6.15.0-1-mainline-13473-gc0c9379f235d is bad

Offline

#33 2025-08-18 16:08:35

gromit
Administrator
From: Germany
Registered: 2024-02-10
Posts: 1,309
Website

Re: [solved] linux-6.16 breaks waking usb from suspend

Please try this image:

sudo pacman -U https://pkgbuild.com/\~gromit/linux-bisection-kernels/linux-mainline-v6.15.rc6.r404.g9857af0-1-x86_64.pkg.tar.zst

Offline

#34 2025-08-18 16:16:54

brian001
Member
Registered: 2021-01-04
Posts: 30

Re: [solved] linux-6.16 breaks waking usb from suspend

6.15.0-rc6-1-mainline-00404-g9857af0fcff3 is good

Offline

#35 2025-08-18 16:36:27

gromit
Administrator
From: Germany
Registered: 2024-02-10
Posts: 1,309
Website

Re: [solved] linux-6.16 breaks waking usb from suspend

Please try this image next:

sudo pacman -U https://pkgbuild.com/\~gromit/linux-bisection-kernels/linux-mainline-v6.15.r13188.gc26f4fb-1-x86_64.pkg.tar.zst

Offline

#36 2025-08-18 19:00:32

brian001
Member
Registered: 2021-01-04
Posts: 30

Re: [solved] linux-6.16 breaks waking usb from suspend

6.15.0-1-mainline-13188-gc26f4fbd5837 is good

Offline

#37 2025-08-18 20:28:03

gromit
Administrator
From: Germany
Registered: 2024-02-10
Posts: 1,309
Website

Re: [solved] linux-6.16 breaks waking usb from suspend

Please try:

sudo pacman -U https://pkgbuild.com/\~gromit/linux-bisection-kernels/linux-mainline-v6.15.rc6.r142.g324d45e-1-x86_64.pkg.tar.zst

Offline

#38 2025-08-18 22:11:17

brian001
Member
Registered: 2021-01-04
Posts: 30

Re: [solved] linux-6.16 breaks waking usb from suspend

6.15.0-rc6-1-mainline-00142-g324d45e53f1a is bad

Offline

#39 2025-08-18 22:30:22

gromit
Administrator
From: Germany
Registered: 2024-02-10
Posts: 1,309
Website

Re: [solved] linux-6.16 breaks waking usb from suspend

Please try:

sudo pacman -U https://pkgbuild.com/\~gromit/linux-bisection-kernels/linux-mainline-v6.15.rc1.r71.g41c6960-1-x86_64.pkg.tar.zst

Offline

#40 2025-08-18 23:09:45

brian001
Member
Registered: 2021-01-04
Posts: 30

Re: [solved] linux-6.16 breaks waking usb from suspend

6.15.0-rc1-1-mainline-00071-g41c6960617b2 is good.

I did finish the bisect locally after disabling rust.

[anonymous@sage] .../linux-git/src/linux-torvalds: git bisect good
e1db856bd28891d70008880d7f1d3b8d1ea948fd is the first bad commit
commit e1db856bd28891d70008880d7f1d3b8d1ea948fd
Author: Niklas Neronin <niklas.neronin@linux.intel.com>
Date:   Thu May 15 16:56:14 2025 +0300

    usb: xhci: remove '0' write to write-1-to-clear register
    
    xHCI specification 1.2, section 5.5.2.1.
    Interrupt Pending bit is RW1C (Write-1-to-clear), which means that
    writing '0' to is has no effect and is removed.
    
    The Interrupt Pending (IP) bit is cleared at the start of interrupt
    handling; xhci_clear_interrupt_pending(). This could theoretically
    cause a new interrupt to be issued before the xhci driver reaches
    the interrupter disable functions.
    To address this, the IP bit is read after Interrupt Enable is
    disabled, and a debug message is issued if the IP bit is still set.
    
    Signed-off-by: Niklas Neronin <niklas.neronin@linux.intel.com>
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Link: https://lore.kernel.org/r/20250515135621.335595-18-mathias.nyman@linux.intel.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

 drivers/usb/host/xhci-hub.c  |  2 +-
 drivers/usb/host/xhci-ring.c |  2 +-
 drivers/usb/host/xhci.c      | 13 +++++++------
 drivers/usb/host/xhci.h      |  2 +-
 4 files changed, 10 insertions(+), 9 deletions(-)
[anonymous@sage] .../linux-git/src/linux-torvalds: git bisect log
git bisect start
# status: waiting for both good and bad commits
# bad: [038d61fd642278bab63ee8ef722c50d10ab01e8f] Linux 6.16
git bisect bad 038d61fd642278bab63ee8ef722c50d10ab01e8f
# status: waiting for good commit(s), bad commit known
# good: [097aa9a71fd56cdc62c11bdf45a84f07acaa3604] Linux 6.15.9
git bisect good 097aa9a71fd56cdc62c11bdf45a84f07acaa3604
# good: [0ff41df1cb268fc69e703a08a57ee14ae967d0ca] Linux 6.15
git bisect good 0ff41df1cb268fc69e703a08a57ee14ae967d0ca
# good: [43db1111073049220381944af4a3b8a5400eda71] Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
git bisect good 43db1111073049220381944af4a3b8a5400eda71
# good: [11fcf368506d347088e613edf6cd2604d70c454f] uapi: bitops: use UAPI-safe variant of BITS_PER_LONG again
git bisect good 11fcf368506d347088e613edf6cd2604d70c454f
# bad: [601dddb6c5d6bf63c63b2efba98231db5f861696] Merge tag 'regulator-fix-v6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
git bisect bad 601dddb6c5d6bf63c63b2efba98231db5f861696
# good: [a100922a3855eb35ecd465f1d558546b1e144445] Merge tag 'staging-6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
git bisect good a100922a3855eb35ecd465f1d558546b1e144445
# good: [378ec25aec5a8444879f8696d580c94950a1f1df] Merge tag 'tty-6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
git bisect good 378ec25aec5a8444879f8696d580c94950a1f1df
# bad: [119b1e61a769aa98e68599f44721661a4d8c55f3] Merge tag 'riscv-for-linus-6.16-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux
git bisect bad 119b1e61a769aa98e68599f44721661a4d8c55f3
# bad: [342e4955a1f1ce28c70a589999b76365082dbf10] usb: usbtmc: Fix timeout value in get_stb
git bisect bad 342e4955a1f1ce28c70a589999b76365082dbf10
# good: [89ecf105143b39c22f49c18da451e88578e08c03] usb: typec: mux: fsa4480: add regulator support
git bisect good 89ecf105143b39c22f49c18da451e88578e08c03
# good: [44455f666b4ba3c3394966827e8923c491274b38] usb: xhci: move DCBAA pointer write
git bisect good 44455f666b4ba3c3394966827e8923c491274b38
# bad: [a541acceedf4f639f928f41fbb676b75946dc295] usb: storage: Ignore UAS driver for SanDisk 3.2 Gen2 storage device
git bisect bad a541acceedf4f639f928f41fbb676b75946dc295
# bad: [e1db856bd28891d70008880d7f1d3b8d1ea948fd] usb: xhci: remove '0' write to write-1-to-clear register
git bisect bad e1db856bd28891d70008880d7f1d3b8d1ea948fd
# good: [83d98dea48eb61667465583022ae03b0c4056aa1] usb: xhci: add individual allocation checks in xhci_mem_init()
git bisect good 83d98dea48eb61667465583022ae03b0c4056aa1
# good: [1fdeb069053f65e974c6fd945c85fcb854e6c199] usb: xhci: set requested IMODI to the closest supported value
git bisect good 1fdeb069053f65e974c6fd945c85fcb854e6c199
# good: [f5bce30ad25e74899c54dda01c80ca6e2e7dc01b] usb: xhci: guarantee that IMAN register is flushed
git bisect good f5bce30ad25e74899c54dda01c80ca6e2e7dc01b
# first bad commit: [e1db856bd28891d70008880d7f1d3b8d1ea948fd] usb: xhci: remove '0' write to write-1-to-clear register
[anonymous@sage] .../linux-git/src/linux-torvalds: 

We can definitely continue to confirm if you think it is worth it. The commit identified is a bit weird since the author thinks it does nothing. I think I did it right.

What now?

Thanks.

Offline

#41 2025-08-19 01:15:29

loqs
Member
Registered: 2014-03-06
Posts: 18,623

Re: [solved] linux-6.16 breaks waking usb from suspend

Usually you would cross check the commit by reverting it from 6.16 but it does not revert cleanly. The following is my attempt at manually reverting it:

diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
index 92bb84f8132a..486347776cb2 100644
--- a/drivers/usb/host/xhci-hub.c
+++ b/drivers/usb/host/xhci-hub.c
@@ -1907,7 +1907,7 @@ int xhci_bus_resume(struct usb_hcd *hcd)
 			 * prevent port event interrupts from interfering
 			 * with usb2 port resume process
 			 */
-			xhci_disable_interrupter(xhci, xhci->interrupters[0]);
+			xhci_disable_interrupter(xhci->interrupters[0]);
 			disabled_irq = true;
 		}
 	}
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index 94c9c9271658..8ae5f9ba5d68 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -3165,7 +3165,7 @@ void xhci_skip_sec_intr_events(struct xhci_hcd *xhci,
 	dma_addr_t deq;
 
 	/* disable irq, ack pending interrupt and ack all pending events */
-	xhci_disable_interrupter(xhci, ir);
+	xhci_disable_interrupter(ir);
 
 	/* last acked event trb is in erdp reg  */
 	erdp_reg = xhci_read_64(xhci, &ir->ir_set->erst_dequeue);
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 8a819e853288..ce702feda4ff 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -307,6 +307,7 @@ int xhci_enable_interrupter(struct xhci_interrupter *ir)
 		return -EINVAL;
 
 	iman = readl(&ir->ir_set->iman);
+	iman &= ~IMAN_IP;
 	iman |= IMAN_IE;
 	writel(iman, &ir->ir_set->iman);
 
@@ -315,7 +316,7 @@ int xhci_enable_interrupter(struct xhci_interrupter *ir)
 	return 0;
 }
 
-int xhci_disable_interrupter(struct xhci_hcd *xhci, struct xhci_interrupter *ir)
+int xhci_disable_interrupter(struct xhci_interrupter *ir)
 {
 	u32 iman;
 
@@ -323,13 +324,11 @@ int xhci_disable_interrupter(struct xhci_hcd *xhci, struct xhci_interrupter *ir)
 		return -EINVAL;
 
 	iman = readl(&ir->ir_set->iman);
+	iman &= ~IMAN_IP;
 	iman &= ~IMAN_IE;
 	writel(iman, &ir->ir_set->iman);
 
-	iman = readl(&ir->ir_set->iman);
-	if (iman & IMAN_IP)
-		xhci_dbg(xhci, "%s: Interrupt pending\n", __func__);
-
+	readl(&ir->ir_set->irq_pending);
 	return 0;
 }
 
@@ -731,7 +730,7 @@ void xhci_stop(struct usb_hcd *hcd)
 			"// Disabling event ring interrupts");
 	temp = readl(&xhci->op_regs->status);
 	writel((temp & ~0x1fff) | STS_EINT, &xhci->op_regs->status);
-	xhci_disable_interrupter(xhci, ir);
+	xhci_disable_interrupter(ir);
 
 	xhci_dbg_trace(xhci, trace_xhci_dbg_init, "cleaning up memory");
 	xhci_mem_cleanup(xhci);
@@ -1169,7 +1168,7 @@ int xhci_resume(struct xhci_hcd *xhci, bool power_lost, bool is_auto_resume)
 		xhci_dbg(xhci, "// Disabling event ring interrupts\n");
 		temp = readl(&xhci->op_regs->status);
 		writel((temp & ~0x1fff) | STS_EINT, &xhci->op_regs->status);
-		xhci_disable_interrupter(xhci, xhci->interrupters[0]);
+		xhci_disable_interrupter(xhci->interrupters[0]);
 
 		xhci_dbg(xhci, "cleaning up memory\n");
 		xhci_mem_cleanup(xhci);
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index a20f4e7cd43a..4199cdb0ecb3 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1903,7 +1903,7 @@ int xhci_alloc_tt_info(struct xhci_hcd *xhci,
 int xhci_set_interrupter_moderation(struct xhci_interrupter *ir,
 				    u32 imod_interval);
 int xhci_enable_interrupter(struct xhci_interrupter *ir);
-int xhci_disable_interrupter(struct xhci_hcd *xhci, struct xhci_interrupter *ir);
+int xhci_disable_interrupter(struct xhci_interrupter *ir);
 
 /* xHCI ring, segment, TRB, and TD functions */
 dma_addr_t xhci_trb_virt_to_dma(struct xhci_segment *seg, union xhci_trb *trb);

Last edited by loqs (2025-08-19 01:17:07)

Offline

#42 2025-08-19 07:04:16

mmy8x
Member
Registered: 2025-03-02
Posts: 66

Re: [solved] linux-6.16 breaks waking usb from suspend

brian001 wrote:
# bad: [e1db856bd28891d70008880d7f1d3b8d1ea948fd] usb: xhci: remove '0' write to write-1-to-clear register
git bisect bad e1db856bd28891d70008880d7f1d3b8d1ea948fd
# good: [83d98dea48eb61667465583022ae03b0c4056aa1] usb: xhci: add individual allocation checks in xhci_mem_init()
git bisect good 83d98dea48eb61667465583022ae03b0c4056aa1
# good: [1fdeb069053f65e974c6fd945c85fcb854e6c199] usb: xhci: set requested IMODI to the closest supported value
git bisect good 1fdeb069053f65e974c6fd945c85fcb854e6c199
# good: [f5bce30ad25e74899c54dda01c80ca6e2e7dc01b] usb: xhci: guarantee that IMAN register is flushed
git bisect good f5bce30ad25e74899c54dda01c80ca6e2e7dc01b
# first bad commit: [e1db856bd28891d70008880d7f1d3b8d1ea948fd] usb: xhci: remove '0' write to write-1-to-clear register

We can definitely continue to confirm if you think it is worth it. The commit identified is a bit weird since the author thinks it does nothing. I think I did it right.

You marked this commit as bad and later its direct predecessor as good. Unless you made a mistake in testing (which you may repeat if you are paranoid), this commit broke things for you.

Others may want to test if they get the same result, i.e. f5bce30ad25e works but e1db856bd288 fails. In theory, there could be different bugs.

brian001 wrote:

What now?

Testing v6.16 with this reverted would demonstrate that there are no other problems remaining and this is the only one, but if it doesn't revert cleanly I would wait for comments from upstream.
https://lore.kernel.org/linux-usb/20250 … foxbook/T/


edit:
That being said, loqs' revert looks like it should work. Merge conflict was superificial, a variable has been renamed in surrounding lines. In fact, it should suffice to simply re-add "iman &= ~IMAN_IP;" in those two places where it has been removed from because the rest of this patch adds an "xhci" argument to some function and a debug message, which is harmless.

Last edited by mmy8x (2025-08-19 07:30:49)

Offline

#43 2025-08-19 14:37:49

brian001
Member
Registered: 2021-01-04
Posts: 30

Re: [solved] linux-6.16 breaks waking usb from suspend

It looks like the problem has been identified and that it will be fixed soon.

Thanks for posting the bug report and for all the help here!

Offline

#44 2025-08-19 16:38:06

mmy8x
Member
Registered: 2025-03-02
Posts: 66

Re: [solved] linux-6.16 breaks waking usb from suspend

Yep, this change was a mistake and it will be fixed.

Has anyone tried if the proposed fix works? wink

Offline

#45 2025-08-19 18:06:04

gromit
Administrator
From: Germany
Registered: 2024-02-10
Posts: 1,309
Website

Re: [solved] linux-6.16 breaks waking usb from suspend

Here is a prebuilt kernel with the proposed fixes, please test:

sudo pacman -U https://pkgbuild.com/~gromit/linux-bisection-kernels/linux-mainline-6.17rc2-1.1-x86_64.pkg.tar.zst

Note that this is the mainline kernel again, so you need to adjust your bootloader to boot from it smile

Offline

#46 2025-08-19 19:56:54

brian001
Member
Registered: 2021-01-04
Posts: 30

Re: [solved] linux-6.16 breaks waking usb from suspend

gromit wrote:

Here is a prebuilt kernel with the proposed fixes, please test:

sudo pacman -U https://pkgbuild.com/~gromit/linux-bisection-kernels/linux-mainline-6.17rc2-1.1-x86_64.pkg.tar.zst

Note that this is the mainline kernel again, so you need to adjust your bootloader to boot from it smile

Yes, that build works fine. No errors. Thanks.

Offline

#47 2025-08-22 16:04:28

loqs
Member
Registered: 2014-03-06
Posts: 18,623

Re: [solved] linux-6.16 breaks waking usb from suspend

@gromit did you encounter the rust related build failure from post #19 and if so how did you solve it. I hit it trying to build 015a99fa76650e7d6efa3e36f20c0f5b346fe9ce for https://bbs.archlinux.org/viewtopic.php?id=307728.
Edit:
Looks to need f4daa80d rust: compile libcore with edition 2024 for 1.87+ and possibly 1c104fa rust: use `#[used(compiler)]` to fix build and `modpost` with Rust >= 1.89.0 (not sure on the second one the kernel does build with only the first and the second one needs the backport from 6.15.Y stable as the mainline version of it does not apply).

Last edited by loqs (2025-08-22 18:17:30)

Offline

#48 2025-08-26 11:28:19

gromit
Administrator
From: Germany
Registered: 2024-02-10
Posts: 1,309
Website

Re: [solved] linux-6.16 breaks waking usb from suspend

@loqs I didn't do anything special to make it build, just built from a chroot against testing.

Offline

#49 2025-08-29 16:18:17

brian001
Member
Registered: 2021-01-04
Posts: 30

Re: [solved] linux-6.16 breaks waking usb from suspend

linux 6.16.4 out today on the arch repos has the fix for this and it's safe to go back to the default package.

Last edited by brian001 (2025-08-29 16:19:15)

Offline

#50 2025-08-29 21:10:11

coder2195
Member
Registered: 2025-08-16
Posts: 7

Re: [solved] linux-6.16 breaks waking usb from suspend

Just switched to 6.16.4, same issue still happens. Disabled Nvidia related services to confirm it was still kernel at fault.

Offline

Board footer

Powered by FluxBB