2009-07-09 08:59:50

by Stephen J. Gowdy

[permalink] [raw]
Subject: 2.6.30 oops with acpi/button

Hi Len & Bjorn,
I've not had time to go back to it but with 2.6.30 I get an oops
when I close the lid on my HP Compaq 6910p laptop. I see you removed some
null pointer checks.. perhaps tha tis why? Here is the oops extracted from
my log file. If you want me to test a patch let me know. I'm about to try
2.6.30.1 but I don't see anything in the ChangeLog that is likely to make
a difference.
I've gone back to 2.6.29.4 where it is fine. I tried unloading the
"button" module first but in that case my laptop locked up without an
oops. No flashing num/caps lock or anything, just froze when I close the
lid. The version of button.c from 2.6.29.4 doesn't compile in the 2.6.30
tree;

drivers/acpi/button.c: In function ?acpi_button_add_fs?:
drivers/acpi/button.c:203: error: ?struct proc_dir_entry? has no member
named ?owner?
drivers/acpi/button.c:208: error: ?struct proc_dir_entry? has no member
named ?owner?
drivers/acpi/button.c: In function ?acpi_button_init?:
drivers/acpi/button.c:525: error: ?struct proc_dir_entry? has no member
named ?owner?

Any ideas?


regards,

Stephen.

--
/------------------------------------+-------------------------\
|Stephen J. Gowdy | CERN Office: 8-1-11|
|http://cern.ch/gowdy/ | CH-1211 Geneva 23 |
| | Switzerland |
|EMail: [email protected] | Tel: +41 76 487 2215 |
\------------------------------------+-------------------------/


Attachments:
button.oops (10.47 kB)

2009-07-09 20:25:36

by Bjorn Helgaas

[permalink] [raw]
Subject: [Bug 13751] 2.6.30 oops with acpi/button

> I've not had time to go back to it but with 2.6.30 I get an oops
> when I close the lid on my HP Compaq 6910p laptop.

I opened this bugzilla for the oops:
http://bugzilla.kernel.org/show_bug.cgi?id=13751

Other reports that may be related:
http://lkml.indiana.edu/hypermail/linux/kernel/0906.2/02139.html
https://bugs.launchpad.net/ubuntu/hardy/+source/hotkey-setup/+bug/157691

I see floundering and workarounds in the reports above, but no
real solution yet.

The oops is a page fault on the IP, which means we branched into
the weeds, possibly by following a bad function pointer:

BUG: unable to handle kernel paging request at ffff88007f223c30
IP: [<ffff88007f223c30>] 0xffff88007f223c30

One possible cause is a module that doesn't clean up properly
when it is unloaded. Can you reproduce the problem with
CONFIG_MODULE_UNLOAD turned off?

I doubt this is a button driver problem, but attached is a patch that
reverts the driver to the 2.6.29 version. Can you try it out?

Bjorn


Attachments:
(No filename) (0.98 kB)
button.patch (13.73 kB)
Download all attachments

2009-07-10 02:57:18

by Zhao, Yakui

[permalink] [raw]
Subject: Re: 2.6.30 oops with acpi/button

On Thu, 2009-07-09 at 16:29 +0800, Stephen J. Gowdy wrote:
> Hi Len & Bjorn,
> I've not had time to go back to it but with 2.6.30 I get an oops
> when I close the lid on my HP Compaq 6910p laptop. I see you removed some
> null pointer checks.. perhaps tha tis why? Here is the oops extracted from
> my log file. If you want me to test a patch let me know. I'm about to try
> 2.6.30.1 but I don't see anything in the ChangeLog that is likely to make
> a difference.
> I've gone back to 2.6.29.4 where it is fine. I tried unloading the
> "button" module first but in that case my laptop locked up without an
> oops. No flashing num/caps lock or anything, just froze when I close the
> lid. The version of button.c from 2.6.29.4 doesn't compile in the 2.6.30
> tree;
>
> drivers/acpi/button.c: In function ‘acpi_button_add_fs’:
> drivers/acpi/button.c:203: error: ‘struct proc_dir_entry’ has no member
> named ‘owner’
> drivers/acpi/button.c:208: error: ‘struct proc_dir_entry’ has no member
> named ‘owner’
> drivers/acpi/button.c: In function ‘acpi_button_init’:
> drivers/acpi/button.c:525: error: ‘struct proc_dir_entry’ has no member
> named ‘owner’
The proc_dir_entry::owner member is removed after the following commit
is shipped:
commit 99b76233803beab302123d243eea9e41149804f3
Author: Alexey Dobriyan <[email protected]>
Date: Wed Mar 25 22:48:06 2009 +0300

proc 2/2: remove struct proc_dir_entry::owner

It seems that the owner member is already removed in the button driver.
Why does the above issue still exist?

Will you please try the latest kernel and see whether the issue still
exists?

For the LID oops issue on the HP6910P, will you please enable
"CONFIG_DRM_I915_KMS" in kernel configuration and see whether the issue
still exists? This had better be done in the latest kernel(for example:
2.6.31-rc1/2)

thanks.
Yakui

>
> Any ideas?
>
>
> regards,
>
> Stephen.
>
> --
> /------------------------------------+-------------------------\
> |Stephen J. Gowdy | CERN Office: 8-1-11|
> |http://cern.ch/gowdy/ | CH-1211 Geneva 23 |
> | | Switzerland |
> |EMail: [email protected] | Tel: +41 76 487 2215 |
> \------------------------------------+-------------------------/