mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-09-18 23:09:29 +02:00
Bluetooth: hci_intel: fix usage_count leak when autosuspend_delay is negative
intel_set_power() calls pm_runtime_use_autosuspend() when powering on
the device, but the power-off path does not call the matching
pm_runtime_dont_use_autosuspend() before disabling runtime PM.
If the autosuspend delay is set to a negative value while autosuspend
is enabled, the runtime PM core increments usage_count to prevent
runtime suspend. Without calling pm_runtime_dont_use_autosuspend()
during teardown, this reference is not dropped and usage_count remains
unbalanced.
Add the missing pm_runtime_dont_use_autosuspend() call before disabling
runtime PM.
This issue was found by manual code inspection.
Fixes: 74cdad37cd ("Bluetooth: hci_intel: Add runtime PM support")
Cc: stable@vger.kernel.org
Signed-off-by: Guangshuo Li <lgs201920130244@gmail.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This commit is contained in:
committed by
Luiz Augusto von Dentz
parent
853a92b97c
commit
c7e9a8cb69
@@ -345,6 +345,7 @@ static int intel_set_power(struct hci_uart *hu, bool powered)
|
||||
devm_free_irq(&idev->pdev->dev, idev->irq, idev);
|
||||
device_wakeup_disable(&idev->pdev->dev);
|
||||
|
||||
pm_runtime_dont_use_autosuspend(&idev->pdev->dev);
|
||||
pm_runtime_disable(&idev->pdev->dev);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user