Linux v3.12-rc2-108-g6cac446
This commit is contained in:
		
							parent
							
								
									879214aa04
								
							
						
					
					
						commit
						e66cf881fc
					
				| @ -1,49 +0,0 @@ | |||||||
| From 5f4513864304672e6ea9eac60583eeac32e679f2 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Henrik Rydberg <rydberg@euromail.se> |  | ||||||
| Date: Thu, 26 Sep 2013 06:33:16 +0000 |  | ||||||
| Subject: hwmon: (applesmc) Check key count before proceeding |  | ||||||
| 
 |  | ||||||
| After reports from Chris and Josh Boyer of a rare crash in applesmc, |  | ||||||
| Guenter pointed at the initialization problem fixed below. The patch |  | ||||||
| has not been verified to fix the crash, but should be applied |  | ||||||
| regardless. |  | ||||||
| 
 |  | ||||||
| Reported-by: <jwboyer@fedoraproject.org> |  | ||||||
| Suggested-by: Guenter Roeck <linux@roeck-us.net> |  | ||||||
| Signed-off-by: Henrik Rydberg <rydberg@euromail.se> |  | ||||||
| Cc: stable@vger.kernel.org |  | ||||||
| Signed-off-by: Guenter Roeck <linux@roeck-us.net> |  | ||||||
| ---
 |  | ||||||
| diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
 |  | ||||||
| index 62c2e32..98814d1 100644
 |  | ||||||
| --- a/drivers/hwmon/applesmc.c
 |  | ||||||
| +++ b/drivers/hwmon/applesmc.c
 |  | ||||||
| @@ -525,16 +525,25 @@ static int applesmc_init_smcreg_try(void)
 |  | ||||||
|  { |  | ||||||
|  	struct applesmc_registers *s = &smcreg; |  | ||||||
|  	bool left_light_sensor, right_light_sensor; |  | ||||||
| +	unsigned int count;
 |  | ||||||
|  	u8 tmp[1]; |  | ||||||
|  	int ret; |  | ||||||
|   |  | ||||||
|  	if (s->init_complete) |  | ||||||
|  		return 0; |  | ||||||
|   |  | ||||||
| -	ret = read_register_count(&s->key_count);
 |  | ||||||
| +	ret = read_register_count(&count);
 |  | ||||||
|  	if (ret) |  | ||||||
|  		return ret; |  | ||||||
|   |  | ||||||
| +	if (s->cache && s->key_count != count) {
 |  | ||||||
| +		pr_warn("key count changed from %d to %d\n",
 |  | ||||||
| +			s->key_count, count);
 |  | ||||||
| +		kfree(s->cache);
 |  | ||||||
| +		s->cache = NULL;
 |  | ||||||
| +	}
 |  | ||||||
| +	s->key_count = count;
 |  | ||||||
| +
 |  | ||||||
|  	if (!s->cache) |  | ||||||
|  		s->cache = kcalloc(s->key_count, sizeof(*s->cache), GFP_KERNEL); |  | ||||||
|  	if (!s->cache) |  | ||||||
| --
 |  | ||||||
| cgit v0.9.2 |  | ||||||
							
								
								
									
										11
									
								
								kernel.spec
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								kernel.spec
									
									
									
									
									
								
							| @ -95,7 +95,7 @@ Summary: The Linux kernel | |||||||
| # The rc snapshot level | # The rc snapshot level | ||||||
| %define rcrev 2 | %define rcrev 2 | ||||||
| # The git snapshot level | # The git snapshot level | ||||||
| %define gitrev 2 | %define gitrev 3 | ||||||
| # Set rpm version accordingly | # Set rpm version accordingly | ||||||
| %define rpmversion 3.%{upstream_sublevel}.0 | %define rpmversion 3.%{upstream_sublevel}.0 | ||||||
| %endif | %endif | ||||||
| @ -747,9 +747,6 @@ Patch25109: skge-fix-invalid-value-passed-to-pci_unmap_sigle.patch | |||||||
| Patch25114: elevator-Fix-a-race-in-elevator-switching-and-md.patch | Patch25114: elevator-Fix-a-race-in-elevator-switching-and-md.patch | ||||||
| Patch25115: elevator-acquire-q-sysfs_lock-in-elevator_change.patch | Patch25115: elevator-acquire-q-sysfs_lock-in-elevator_change.patch | ||||||
| 
 | 
 | ||||||
| #rhbz 1011719 |  | ||||||
| Patch25116: hwmon-applesmc-Check-key-count-before-proceeding.patch |  | ||||||
| 
 |  | ||||||
| # END OF PATCH DEFINITIONS | # END OF PATCH DEFINITIONS | ||||||
| 
 | 
 | ||||||
| %endif | %endif | ||||||
| @ -1458,9 +1455,6 @@ ApplyPatch skge-fix-invalid-value-passed-to-pci_unmap_sigle.patch | |||||||
| ApplyPatch elevator-Fix-a-race-in-elevator-switching-and-md.patch | ApplyPatch elevator-Fix-a-race-in-elevator-switching-and-md.patch | ||||||
| ApplyPatch elevator-acquire-q-sysfs_lock-in-elevator_change.patch | ApplyPatch elevator-acquire-q-sysfs_lock-in-elevator_change.patch | ||||||
| 
 | 
 | ||||||
| #rhbz 1011719 |  | ||||||
| ApplyPatch hwmon-applesmc-Check-key-count-before-proceeding.patch |  | ||||||
| 
 |  | ||||||
| # END OF PATCH APPLICATIONS | # END OF PATCH APPLICATIONS | ||||||
| 
 | 
 | ||||||
| %endif | %endif | ||||||
| @ -2265,6 +2259,9 @@ fi | |||||||
| #                                    ||----w | | #                                    ||----w | | ||||||
| #                                    ||     || | #                                    ||     || | ||||||
| %changelog | %changelog | ||||||
|  | * Fri Sep 27 2013 Josh Boyer <jwboyer@fedoraproject.org> - 3.12.0-0.rc2.git3.1 | ||||||
|  | - Linux v3.12-rc2-108-g6cac446 | ||||||
|  | 
 | ||||||
| * Fri Sep 27 2013 Josh Boyer <jwboyer@fedoraproject.org> | * Fri Sep 27 2013 Josh Boyer <jwboyer@fedoraproject.org> | ||||||
| - Add patch to fix oops from applesmc (rhbz 1011719) | - Add patch to fix oops from applesmc (rhbz 1011719) | ||||||
| - Add patches to fix soft lockup from elevator changes (rhbz 902012) | - Add patches to fix soft lockup from elevator changes (rhbz 902012) | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								sources
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								sources
									
									
									
									
									
								
							| @ -1,3 +1,3 @@ | |||||||
| fea363551ff45fbe4cb88497b863b261  linux-3.11.tar.xz | fea363551ff45fbe4cb88497b863b261  linux-3.11.tar.xz | ||||||
| 9e41ef3a4d18cde57a9e6af19d3d8cf6  patch-3.12-rc2.xz | 9e41ef3a4d18cde57a9e6af19d3d8cf6  patch-3.12-rc2.xz | ||||||
| c30215800018eefd99b6a90e51bb028f  patch-3.12-rc2-git2.xz | 01291f3308079830a5b556f6d8f76df3  patch-3.12-rc2-git3.xz | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user