• Srinivas Pandruvada's avatar
    thermal: intel: int340x: Protect trip temperature from concurrent updates · 6757a7ab
    Srinivas Pandruvada authored
    Trip temperatures are read using ACPI methods and stored in the memory
    during zone initializtion and when the firmware sends a notification for
    change. This trip temperature is returned when the thermal core calls via
    callback get_trip_temp().
    
    But it is possible that while updating the memory copy of the trips when
    the firmware sends a notification for change, thermal core is reading the
    trip temperature via the callback get_trip_temp(). This may return invalid
    trip temperature.
    
    To address this add a mutex to protect the invalid temperature reads in
    the callback get_trip_temp() and int340x_thermal_read_trips().
    
    Fixes: 5fbf7f27 ("Thermal/int340x: Add common thermal zone handler")
    Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    Cc: 5.0+ <stable@vger.kernel.org> # 5.0+
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    6757a7ab
int340x_thermal_zone.h 1.46 KB