mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 12:44:03 +02:00
HID: intel-thc-hid: intel-quickspi: fix autosuspend cleanup during teardown
quickspi_probe() calls pm_runtime_use_autosuspend(), but
quickspi_remove() does not call the matching
pm_runtime_dont_use_autosuspend() during teardown.
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.
The documentation for pm_runtime_use_autosuspend() also notes that it
is important to undo it with pm_runtime_dont_use_autosuspend() at
driver exit time, unless runtime PM was initially enabled with
devm_pm_runtime_enable().
Add the missing pm_runtime_dont_use_autosuspend() call to the driver
remove path.
This issue was found by manual code inspection.
Fixes: 6912aaf3fd ("HID: intel-thc-hid: intel-quickspi: Add PM implementation")
Cc: stable@vger.kernel.org
Signed-off-by: Guangshuo Li <lgs201920130244@gmail.com>
Reviewed-by: Even Xu <even.xu@intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
This commit is contained in:
parent
42a941e394
commit
05dffa55fd
|
|
@ -720,6 +720,7 @@ static void quickspi_remove(struct pci_dev *pdev)
|
|||
quickspi_hid_remove(qsdev);
|
||||
quickspi_dma_deinit(qsdev);
|
||||
|
||||
pm_runtime_dont_use_autosuspend(qsdev->dev);
|
||||
pm_runtime_get_noresume(qsdev->dev);
|
||||
|
||||
quickspi_dev_deinit(qsdev);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user