RE: [PATCH] HID: intel-thc-hid: intel-quicki2c: fix autosuspend cleanup during teardown
"Xu, Even" <[email protected]> Mon, 10 Aug 2026 00:53:19 +0000
| Newsgroups | org.kernel.vger.linux-input,org.kernel.vger.linux-kernel,org.kernel.vger.stable |
|---|---|
| Message-ID | <IA1PR11MB6098DEE7D7CBA03B4012D155F4DE2@IA1PR11MB6098.namprd11.prod.outlook.com> |
> -----Original Message----- > From: Guangshuo Li <[email protected]> > Sent: Saturday, August 8, 2026 10:58 PM > To: Xu, Even <[email protected]>; Sun, Xinpeng <[email protected]>; Jiri > Kosina <[email protected]>; Benjamin Tissoires <[email protected]>; Sakari Ailus > <[email protected]>; Guangshuo Li <[email protected]>; > Mark Pearson <[email protected]>; Srinivas Pandruvada > <[email protected]>; [email protected]; linux- > [email protected] > Cc: [email protected] > Subject: [PATCH] HID: intel-thc-hid: intel-quicki2c: fix autosuspend cleanup during > teardown > > quicki2c_probe() calls pm_runtime_use_autosuspend(), but > quicki2c_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: 5f420e8215c6 ("HID: intel-thc-hid: intel-quicki2c: Add PM > implementation") > Cc: [email protected] > Signed-off-by: Guangshuo Li <[email protected]> > --- > drivers/hid/intel-thc-hid/intel-quicki2c/pci-quicki2c.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/hid/intel-thc-hid/intel-quicki2c/pci-quicki2c.c > b/drivers/hid/intel-thc-hid/intel-quicki2c/pci-quicki2c.c > index 46d3e9a01999..4126c2408d98 100644 > --- a/drivers/hid/intel-thc-hid/intel-quicki2c/pci-quicki2c.c > +++ b/drivers/hid/intel-thc-hid/intel-quicki2c/pci-quicki2c.c > @@ -774,6 +774,7 @@ static void quicki2c_remove(struct pci_dev *pdev) > quicki2c_hid_remove(qcdev); > quicki2c_dma_deinit(qcdev); > > + pm_runtime_dont_use_autosuspend(qcdev->dev); Thanks for the patch! Reviewed-by: Even Xu <[email protected]> > pm_runtime_get_noresume(qcdev->dev); > > quicki2c_dev_deinit(qcdev); > -- > 2.43.0