Commit ac6888ac authored by Eddie James's avatar Eddie James Committed by Guenter Roeck
Browse files

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: default avatarEddie James <eajames@linux.ibm.com>
Link: https://lore.kernel.org/r/20220606185455.21126-1-eajames@linux.ibm.com


Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 5e3f89ad
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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);