linux/drivers/usb/chipidea
Xu Yang fc3afb5728 usb: chipidea: fix usage_count leak when autosuspend_delay is negative
The probe() calls pm_runtime_use_autosuspend(), but remove() does not call
pm_runtime_dont_use_autosuspend(). This can lead to a usage_count leak if
autosuspend_delay is set to a negative value.

The pm_runtime_use_autosuspend() also notes that it's important to undo
this with pm_runtime_dont_use_autosuspend() at driver exit time.

Fixes: 1f874edcb7 ("usb: chipidea: add runtime power management support")
Cc: stable <stable@kernel.org>
Assisted-by: Claude:claude-sonnet-4.6
Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20260716104126.2763454-1-xu.yang_2@oss.nxp.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-07-16 17:12:21 +02:00
..
bits.h
ci_hdrc_imx.c usb: chipidea: ci_hdrc_imx: use "wakeup" suffix for wakeup interrupt name 2026-01-14 16:00:09 +01:00
ci_hdrc_imx.h usb: chipidea: imx: add imx_usbmisc_pullup() hook 2025-06-19 12:28:25 +02:00
ci_hdrc_msm.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
ci_hdrc_npcm.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
ci_hdrc_pci.c
ci_hdrc_tegra.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
ci_hdrc_usb2.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
ci.h usb: chipidea: udc: limit usb request length to max 16KB 2024-10-04 15:13:58 +02:00
core.c usb: chipidea: fix usage_count leak when autosuspend_delay is negative 2026-07-16 17:12:21 +02:00
debug.c usb: chipidea: debug: remove redundant 'role' debug file 2023-03-23 17:27:46 +01:00
host.c USB: Use str_enable_disable-like helpers 2025-01-15 18:28:13 +01:00
host.h
Kconfig usb: chipidea: Add support for NPCM 2023-10-21 12:46:00 +02:00
Makefile usb: chipidea: Add support for NPCM 2023-10-21 12:46:00 +02:00
otg_fsm.c usb: Remove redundant pm_runtime_mark_last_busy() calls 2025-11-21 15:11:53 +01:00
otg_fsm.h
otg.c usb: chipidea: otg: not wait vbus drop if use role_switch 2026-04-07 13:46:54 +02:00
otg.h usb: chipidea: core: add controller resume support when controller is powered off 2022-10-23 14:34:53 +02:00
trace.c
trace.h tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
udc.c usb: chipidea: udc: support dynamic gadget add/remove 2026-05-22 11:28:10 +02:00
udc.h usb: chipidea: udc: create bounce buffer for problem sglist entries if possible 2024-10-04 15:13:58 +02:00
ulpi.c Revert "usb: chipidea: move ci_ulpi_init after the phy initialization" 2024-06-04 14:51:09 +02:00
usbmisc_imx.c usb: chipidea: imx: add USB support for i.MX94 2025-10-13 09:11:50 +02:00