mirror of
https://github.com/torvalds/linux.git
synced 2026-09-23 05:04:02 +02:00
thermal: intel: int340x: clean up RFIM groups on DVFS failure
proc_thermal_rfim_add() can create the FIVR and DLVR sysfs groups before creating the DVFS group. If DVFS group creation fails while both earlier groups are enabled, the current error handling removes only one group: the FIVR branch returns before the DLVR cleanup branch can run. This leaves the DLVR group behind even though RFIM setup fails. Use one DVFS failure path that removes all previously created RFIM groups before returning the error. Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn> Link: https://patch.msgid.link/20260615065245.84252-1-pengpeng@iscas.ac.cn Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
1e768cc92b
commit
28f34d7daf
|
|
@ -491,12 +491,11 @@ int proc_thermal_rfim_add(struct pci_dev *pdev, struct proc_thermal_device *proc
|
|||
|
||||
if (proc_priv->mmio_feature_mask & PROC_THERMAL_FEATURE_DVFS) {
|
||||
ret = sysfs_create_group(&pdev->dev.kobj, &dvfs_attribute_group);
|
||||
if (ret && proc_priv->mmio_feature_mask & PROC_THERMAL_FEATURE_FIVR) {
|
||||
sysfs_remove_group(&pdev->dev.kobj, &fivr_attribute_group);
|
||||
return ret;
|
||||
}
|
||||
if (ret && proc_priv->mmio_feature_mask & PROC_THERMAL_FEATURE_DLVR) {
|
||||
sysfs_remove_group(&pdev->dev.kobj, &dlvr_attribute_group);
|
||||
if (ret) {
|
||||
if (proc_priv->mmio_feature_mask & PROC_THERMAL_FEATURE_DLVR)
|
||||
sysfs_remove_group(&pdev->dev.kobj, &dlvr_attribute_group);
|
||||
if (proc_priv->mmio_feature_mask & PROC_THERMAL_FEATURE_FIVR)
|
||||
sysfs_remove_group(&pdev->dev.kobj, &fivr_attribute_group);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user