diff options
| author | Jiajia Liu <liujiajia@kylinos.cn> | 2026-09-04 16:03:51 +0800 |
|---|---|---|
| committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2026-09-04 10:57:38 -0400 |
| commit | 71729d60938f46745da32f75507b1ad4bf989100 (patch) | |
| tree | a809ae1a5f118bf1bdde5c19200fddd0bae302ca /scripts/Makefile.thinlto | |
| parent | a78f54e23804a83c811fa2183f7b0ce614cac8c4 (diff) | |
| download | linux-next-71729d60938f46745da32f75507b1ad4bf989100.tar.gz linux-next-71729d60938f46745da32f75507b1ad4bf989100.zip | |
Bluetooth: btusb: Fix leaked runtime PM reference in btusb_reset
btusb_reset calls usb_autopm_get_interface to resume the device
before queuing a reset of it, but never calls the matching
usb_autopm_put_interface.
usb_queue_reset_device ends up in usb_reset_device(), and since
btusb provides no pre_reset/post_reset callbacks the interface is
merely unbound and rebound: the interface device object survives
this cycle, and so does its PM usage count, which is not cleared
when the driver is unbound.
As a result every reset permanently leaks a PM usage reference,
preventing the interface from being runtime suspended again until
it is unbound.
Set BTUSB_RESET flag before usb_queue_reset_device so that
btusb_disconnect drops the reference. If the flag is already set,
drop one reference.
Fixes: c9209b269afd ("Bluetooth: btusb: Introduce generic USB reset")
Assisted-by: Claude:qwen3.8-max
Signed-off-by: Jiajia Liu <liujiajia@kylinos.cn>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
