Re: Fix oops in acer_wmi

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Carlos Corbacho <carlos@...>, <torvalds@...>
Cc: <linux-kernel@...>, Rafael J. Wysocki <rjw@...>
Date: Sunday, August 24, 2008 - 12:45 am

On Sun, 24 Aug 2008 02:19:41 +0100

Linus, 
below is a patch for a bug that's showing quite hot on kerneloops.org; please consider merging

Carlos Corbacho <carlos@strangeworlds.co.uk> wrote:


oh whoops; updated below

interesting; I have no reports of this in kerneloops.org (but if this got introduced
in 2.6.26 that's possible; there's not that many 2.6.26 users yet);
you can see this yourself at
http://www.kerneloops.org/search.php?search=acer_wmi_init
on the left side it shows how often it happens for which versions/

I'll still call it a tentative regression ;=)


--
From: Arjan van de Ven <arjan@linux.intel.com>
Subject: Fix oops in acer_wmi driver (acer_wmi_init)

The acer_wmi driver does a DMI scan for quirks, and then sets flags into the
"interface" datastructure for some cases. However, the quirks happen real early
before "interface" is per se initialized from NULL.

The patch below 1) adds a NULL pointer check and 2) (re)runs the quirks at the
end, when "interface" has it's final value. 

Reported-by: kerneloops.org
Acked-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
CC: stable@vger.kernel.org
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>


--- linux.trees.git/drivers/misc/acer-wmi.c~	2008-08-23 13:59:22.000000000 -0700
+++ linux.trees.git/drivers/misc/acer-wmi.c	2008-08-23 14:00:32.000000000 -0700
@@ -192,6 +192,9 @@ static struct quirk_entry *quirks;
 
 static void set_quirks(void)
 {
+	if (!interface)
+		return;
+
 	if (quirks->mailled)
 		interface->capability |= ACER_CAP_MAILLED;
 
@@ -1237,6 +1240,8 @@ static int __init acer_wmi_init(void)
 		return -ENODEV;
 	}
 
+	set_quirks();
+
 	if (platform_driver_register(&acer_platform_driver)) {
 		printk(ACER_ERR "Unable to register platform driver.\n");
 		goto error_platform_register;


--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Fix oops in acer_wmi, Arjan van de Ven, (Sat Aug 23, 5:05 pm)
Re: Fix oops in acer_wmi, Carlos Corbacho, (Sat Aug 23, 9:19 pm)
Re: Fix oops in acer_wmi, Arjan van de Ven, (Sun Aug 24, 12:45 am)
Re: Fix oops in acer_wmi, Carlos Corbacho, (Sun Aug 24, 4:38 am)