RE: [PATCH] HID: intel-thc-hid: intel-quickspi: fix autosuspend cleanup during teardown

"Xu, Even" <[email protected]>
Newsgroups org.kernel.vger.stable,org.kernel.vger.linux-input,org.kernel.vger.linux-kernel
Message-ID <IA1PR11MB60985BDE3A634ED205A72CD4F4DE2@IA1PR11MB6098.namprd11.prod.outlook.com>

> -----Original Message-----
> From: Guangshuo Li <[email protected]>
> Sent: Saturday, August 8, 2026 11:18 PM
> To: Xu, Even <[email protected]>; Sun, Xinpeng <[email protected]>; Jiri
> Kosina <[email protected]>; Benjamin Tissoires <[email protected]>; Sakari Ailus
> <[email protected]>; Danny D. <[email protected]>; Guangshuo
> Li <[email protected]>; Abhishek Tamboli
> <[email protected]>; Mark Pearson <[email protected]>;
> Srinivas Pandruvada <[email protected]>; linux-
> [email protected]; [email protected]
> Cc: [email protected]
> Subject: [PATCH] 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: 6912aaf3fd24 ("HID: intel-thc-hid: intel-quickspi: Add PM implementation")
> Cc: [email protected]
> Signed-off-by: Guangshuo Li <[email protected]>
> ---
>  drivers/hid/intel-thc-hid/intel-quickspi/pci-quickspi.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/hid/intel-thc-hid/intel-quickspi/pci-quickspi.c
> b/drivers/hid/intel-thc-hid/intel-quickspi/pci-quickspi.c
> index 4ae2e1718b30..3c87519aca84 100644
> --- a/drivers/hid/intel-thc-hid/intel-quickspi/pci-quickspi.c
> +++ b/drivers/hid/intel-thc-hid/intel-quickspi/pci-quickspi.c
> @@ -713,6 +713,7 @@ static void quickspi_remove(struct pci_dev *pdev)
>  	quickspi_hid_remove(qsdev);
>  	quickspi_dma_deinit(qsdev);
> 
> +	pm_runtime_dont_use_autosuspend(qsdev->dev);

Reviewed-by: Even Xu <[email protected]>

>  	pm_runtime_get_noresume(qsdev->dev);
> 
>  	quickspi_dev_deinit(qsdev);
> --
> 2.43.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.