thermal/core: Destroy thermal zone device mutex in release function
authorGuenter Roeck <linux@roeck-us.net>
Thu, 10 Nov 2022 15:24:52 +0000 (07:24 -0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 14 Nov 2022 18:04:37 +0000 (19:04 +0100)
commitd35f29ed9d11ccc4f9b957871d14726f4451a4ad
treeb81af0bfc72aad0092dbc1e84b3718be593d2982
parente49a1e1ee078aee21006192076a8d93335e0daa9
thermal/core: Destroy thermal zone device mutex in release function

Accesses to thermal zones, and with it the thermal zone device mutex,
are still possible after the thermal zone device has been unregistered.
For example, thermal_zone_get_temp() can be called from temp_show()
in thermal_sysfs.c if the sysfs attribute was opened before the thermal
device was unregistered.

Move the call to mutex_destroy from thermal_zone_device_unregister()
to thermal_release() to ensure that it is only destroyed after it is
guaranteed to be no longer accessed.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/thermal/thermal_core.c