mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 13:51:44 +00:00
hwmon: (occ) Lock mutex in shutdown to prevent race with occ_active
Unbinding the driver or removing the parent device at the same time as using the OCC active sysfs file can cause the driver to unregister the hwmon device twice. Prevent this by locking the occ mutex in the shutdown function. Signed-off-by: Eddie James <eajames@linux.ibm.com> Link: https://lore.kernel.org/r/20220606185455.21126-1-eajames@linux.ibm.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
parent
5e3f89ad8e
commit
ac6888ac5a
@ -1228,10 +1228,15 @@ EXPORT_SYMBOL_GPL(occ_setup);
|
||||
|
||||
void occ_shutdown(struct occ *occ)
|
||||
{
|
||||
mutex_lock(&occ->lock);
|
||||
|
||||
occ_shutdown_sysfs(occ);
|
||||
|
||||
if (occ->hwmon)
|
||||
hwmon_device_unregister(occ->hwmon);
|
||||
occ->hwmon = NULL;
|
||||
|
||||
mutex_unlock(&occ->lock);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(occ_shutdown);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user