linux/drivers/usb/usbip
Cristian Ciocaltea e40b984b6c usb: vhci-hcd: Prevent suspending virtually attached devices
The VHCI platform driver aims to forbid entering system suspend when at
least one of the virtual USB ports are bound to an active USB/IP
connection.

However, in some cases, the detection logic doesn't work reliably, i.e.
when all devices attached to the virtual root hub have been already
suspended, leading to a broken suspend state, with unrecoverable resume.

Ensure the virtually attached devices do not enter suspend by setting
the syscore PM flag.  Note this is currently limited to the client side
only, since the server side doesn't implement system suspend prevention.

Fixes: 04679b3489 ("Staging: USB/IP: add client driver")
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Acked-by: Shuah Khan <skhan@linuxfoundation.org>
Link: https://lore.kernel.org/r/20250902-vhci-hcd-suspend-fix-v3-1-864e4e833559@collabora.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-09-25 18:52:32 +02:00
..
Kconfig
Makefile
stub.h
stub_dev.c
stub_main.c USB: core: Use device_driver directly in struct usb_driver and usb_device_driver 2024-01-04 16:06:32 +01:00
stub_rx.c usbip: Correct format specifier for seqnum from %d to %u 2025-01-17 12:38:01 +01:00
stub_tx.c usbip: Correct format specifier for seqnum from %d to %u 2025-01-17 12:38:01 +01:00
usbip_common.c
usbip_common.h
usbip_event.c
vhci.h
vhci_hcd.c usb: vhci-hcd: Prevent suspending virtually attached devices 2025-09-25 18:52:32 +02:00
vhci_rx.c usbip: Correct format specifier for seqnum from %d to %u 2025-01-17 12:38:01 +01:00
vhci_sysfs.c usbip: Add USB_SPEED_SUPER_PLUS as valid arg 2024-07-31 10:41:41 +02:00
vhci_tx.c
vudc.h USB: usbip: vudc: Convert to platform remove callback returning void 2023-11-22 12:02:53 +00:00
vudc_dev.c USB: usbip: vudc: Convert to platform remove callback returning void 2023-11-22 12:02:53 +00:00
vudc_main.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
vudc_rx.c
vudc_sysfs.c sysfs: treewide: switch back to attribute_group::bin_attrs 2025-06-17 10:44:15 +02:00
vudc_transfer.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
vudc_tx.c usbip: Correct format specifier for seqnum from %d to %u 2025-01-17 12:38:01 +01:00