diff mbox

Thermal: x86 package temp thermal crash

Message ID 1373521763-23184-1-git-send-email-srinivas.pandruvada@linux.intel.com (mailing list archive)
State Superseded, archived
Headers show

Commit Message

srinivas pandruvada July 11, 2013, 5:49 a.m. UTC
On some older platform this resulted in general protection fault,
for accessing MSRs, which are not present.
Added change so that the module is loaded, only when the CPU has
PTS feature. The previous check has an issue when DTS sensor is
present but PTS is not supported.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Reported-by: Daniel Walker <dwalker@fifo99.com>
---
 drivers/thermal/x86_pkg_temp_thermal.c |    6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

Comments

Daniel Walker July 11, 2013, 3:59 p.m. UTC | #1
On Wed, Jul 10, 2013 at 10:49:23PM -0700, Srinivas Pandruvada wrote:
> On some older platform this resulted in general protection fault,
> for accessing MSRs, which are not present.
> Added change so that the module is loaded, only when the CPU has
> PTS feature. The previous check has an issue when DTS sensor is
> present but PTS is not supported.
> 
> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
> Reported-by: Daniel Walker <dwalker@fifo99.com>
> ---


Although I should note that my platform is not old by any means.. So
your comments above aren't exactly correct.

Tested-By: Daniel Walker <dwalker@fifo99.com>

--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
srinivas pandruvada July 11, 2013, 4:28 p.m. UTC | #2
Thanks Daniel.

I will correct the comment and resubmit patch. Sorry for the pain caused 
by me.

Regards,
Srinivas

On 07/11/2013 08:59 AM, Daniel Walker wrote:
> On Wed, Jul 10, 2013 at 10:49:23PM -0700, Srinivas Pandruvada wrote:
>> On some older platform this resulted in general protection fault,
>> for accessing MSRs, which are not present.
>> Added change so that the module is loaded, only when the CPU has
>> PTS feature. The previous check has an issue when DTS sensor is
>> present but PTS is not supported.
>>
>> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
>> Reported-by: Daniel Walker <dwalker@fifo99.com>
>> ---
>
> Although I should note that my platform is not old by any means.. So
> your comments above aren't exactly correct.
>
> Tested-By: Daniel Walker <dwalker@fifo99.com>
>
>

--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/thermal/x86_pkg_temp_thermal.c b/drivers/thermal/x86_pkg_temp_thermal.c
index 5de56f6..cfb6b7d 100644
--- a/drivers/thermal/x86_pkg_temp_thermal.c
+++ b/drivers/thermal/x86_pkg_temp_thermal.c
@@ -506,14 +506,10 @@  static int pkg_temp_thermal_device_remove(unsigned int cpu)
 
 static int get_core_online(unsigned int cpu)
 {
-	struct cpuinfo_x86 *c = &cpu_data(cpu);
 	struct phy_dev_entry *phdev = pkg_temp_thermal_get_phy_entry(cpu);
 
 	/* Check if there is already an instance for this package */
 	if (!phdev) {
-		if (!cpu_has(c, X86_FEATURE_DTHERM) &&
-					!cpu_has(c, X86_FEATURE_PTS))
-			return -ENODEV;
 		if (pkg_temp_thermal_device_add(cpu))
 			return -ENODEV;
 	} else {
@@ -562,7 +558,7 @@  static struct notifier_block pkg_temp_thermal_notifier __refdata = {
 };
 
 static const struct x86_cpu_id __initconst pkg_temp_thermal_ids[] = {
-	{ X86_VENDOR_INTEL, X86_FAMILY_ANY, X86_MODEL_ANY, X86_FEATURE_DTHERM },
+	{ X86_VENDOR_INTEL, X86_FAMILY_ANY, X86_MODEL_ANY, X86_FEATURE_PTS },
 	{}
 };
 MODULE_DEVICE_TABLE(x86cpu, pkg_temp_thermal_ids);