Bug 42852 - wistron_btns "breaks" -pae: floods with "Unknown key code 10", causing severe slowdown
Summary: wistron_btns "breaks" -pae: floods with "Unknown key code 10", causing severe...
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Input Devices (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_input-devices
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-03-03 13:01 UTC by Jani Uusitalo
Modified: 2012-05-12 02:10 UTC (History)
1 user (show)

See Also:
Kernel Version: 3.3.0-030300rc4-generic
Subsystem:
Regression: No
Bisected commit-id:


Attachments
3.3.0-030300rc4-generic-pae dmesg output on FS Amilo (48.35 KB, application/octet-stream)
2012-03-03 13:01 UTC, Jani Uusitalo
Details

Description Jani Uusitalo 2012-03-03 13:01:26 UTC
Created attachment 72532 [details]
3.3.0-030300rc4-generic-pae dmesg output on FS Amilo 

My summary's crap because this is difficult to summarize, hopefully the explanation below makes it clearer. I have little understanding of kernel internals, so I'll first just try and describe the symptom as it appears.

I've come across an issue on my Fujitsu Siemens Amilo M7400 laptop with wistron_btns that is triggered by certain kernels, and once triggered, seems to affect all subsequent attempts to reboot with -pae kernels until a non-pae kernel is booted. I initially reported this on Launchpad [1].

I can currently trigger the issue by (cold or re-) booting 3.2.0-14-pae (these are Ubuntu's packaged kernels) or by booting (for example) 3.3.0-030300rc4-generic-pae in recovery mode (= "ro recovery nomodeset"). The recovery boot seems to work normally, but the 3.2.0-14-pae boot already exhibits the failure: it seemingly freezes. (More about the exact nature of "failure" below.)

Once I've triggered the issue, rebooting with any -pae kernel fails similar to how 3.2.0-14-pae behaves irregardless of preceding boots.

I can "fix" this by booting a non-pae kernel (which never fails). After that subsequent reboots with -pae kernels (apart from 3.2.0-14-pae) no longer fail — not until I do any of the triggering actions again.

Now, the "failure" looks like a freeze, but it's actually just an extreme slowdown. With patience, I can actually have the boot finish and can inspect logs. Dmesg reveals that wistron_btns is repeating "Unknown key code 10" over and over.

If I comment wistron_btns out of /etc/modules so that it isn't loaded, the issue goes away, meaning I can no longer trigger it.

As I said, I have little understanding of kernel bugs, so what I say next may be completely off, but the way I've interpreted this is that the "brokenness" is actually hidden in the hardware, in something controlled by wistron_btns. Booting 3.2.0-14-pae/recovery booting any -pay puts the controller(?) in a "broken" state from which a -pae kernel can't recover, but a non-pae kernel can. And although -pae kernels later than 3.2.0-14 can't recover a "broken" controller, they also cannot put it into that "broken" state (which is a good turn of development).

I'll be happy to provide more info as requested. I'm attaching dmesg output for starters.

* [1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/926012

Note You need to log in before you can comment on or make changes to this bug.