diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-05-18 19:38:09 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-05-18 19:38:09 +0300 |
commit | af5d28565f5822fb6a280d2de07315dad487f1f1 (patch) | |
tree | 2c5eab1568ef19b79322de65e6834a5a0d859862 /drivers | |
parent | dac94e29110cd606dec37673644caf2cf6fd1dde (diff) | |
parent | 90b4f30b6d15222a509dacf47f29efef2b22571e (diff) | |
download | linux-af5d28565f5822fb6a280d2de07315dad487f1f1.tar.xz |
Merge tag 'hwmon-for-linus-v4.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
Pull hwmon fix from Guenter Roeck:
"Fix problem with hotplug state machine in coretemp driver"
* tag 'hwmon-for-linus-v4.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
hwmon: (coretemp) Handle frozen hotplug state correctly
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/hwmon/coretemp.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/hwmon/coretemp.c b/drivers/hwmon/coretemp.c index 3ac4c03ba77b..c13a4fd86b3c 100644 --- a/drivers/hwmon/coretemp.c +++ b/drivers/hwmon/coretemp.c @@ -605,6 +605,13 @@ static int coretemp_cpu_online(unsigned int cpu) struct platform_data *pdata; /* + * Don't execute this on resume as the offline callback did + * not get executed on suspend. + */ + if (cpuhp_tasks_frozen) + return 0; + + /* * CPUID.06H.EAX[0] indicates whether the CPU has thermal * sensors. We check this bit only, all the early CPUs * without thermal sensors will be filtered out. @@ -654,6 +661,13 @@ static int coretemp_cpu_offline(unsigned int cpu) struct temp_data *tdata; int indx, target; + /* + * Don't execute this on suspend as the device remove locks + * up the machine. + */ + if (cpuhp_tasks_frozen) + return 0; + /* If the physical CPU device does not exist, just return */ if (!pdev) return 0; |