diff options
Diffstat (limited to 'drivers/hwmon/coretemp.c')
| -rw-r--r-- | drivers/hwmon/coretemp.c | 6 | 
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/hwmon/coretemp.c b/drivers/hwmon/coretemp.c index 0d3141fbbc2..b9d512331ed 100644 --- a/drivers/hwmon/coretemp.c +++ b/drivers/hwmon/coretemp.c @@ -52,7 +52,7 @@ module_param_named(tjmax, force_tjmax, int, 0444);  MODULE_PARM_DESC(tjmax, "TjMax value in degrees Celsius");  #define BASE_SYSFS_ATTR_NO	2	/* Sysfs Base attr no for coretemp */ -#define NUM_REAL_CORES		16	/* Number of Real cores per cpu */ +#define NUM_REAL_CORES		32	/* Number of Real cores per cpu */  #define CORETEMP_NAME_LENGTH	17	/* String Length of attrs */  #define MAX_CORE_ATTRS		4	/* Maximum no of basic attrs */  #define TOTAL_ATTRS		(MAX_CORE_ATTRS + 1) @@ -709,6 +709,10 @@ static void __cpuinit put_core_offline(unsigned int cpu)  	indx = TO_ATTR_NO(cpu); +	/* The core id is too big, just return */ +	if (indx > MAX_CORE_DATA - 1) +		return; +  	if (pdata->core_data[indx] && pdata->core_data[indx]->cpu == cpu)  		coretemp_remove_core(pdata, &pdev->dev, indx);  |