Bug 1594572 - Kernel 4.17.2 does not recognise Asus K501UB laptop keyboard/trackpad
Summary: Kernel 4.17.2 does not recognise Asus K501UB laptop keyboard/trackpad
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 28
Hardware: x86_64
OS: Linux
unspecified
urgent
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1594571 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-06-24 15:00 UTC by Roy
Modified: 2018-06-27 15:43 UTC (History)
18 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-06-27 15:43:59 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Dmesg of machine booting with kernel 4.17.2-200 (72.96 KB, text/plain)
2018-06-24 15:01 UTC, Roy
no flags Details
Correct dmesg of machine booting with kernel 4.16.16-300 (66.32 KB, text/plain)
2018-06-24 15:07 UTC, Roy
no flags Details
ACPI dump Asus K501UB (974.04 KB, text/plain)
2018-06-25 16:58 UTC, Roy
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Linux Kernel 200277 0 None None None Never

Description Roy 2018-06-24 15:00:00 UTC
Description of problem:
The current kernel 4.17.2 does not recognise the internal keyboard and trackpad of the Asus K501UB laptop, rendering the machine useless on the go. Input works from an external keyboard and mouse. Machine works fine with kernel 4.16.

Version-Release number of selected component (if applicable):
kernel-4.17.2-200.fc28.x86_64.

How reproducible:
Type.

Steps to Reproduce:
1. Start machine
2. Type (In my case: hard drive decryption key)

Actual results:
None

Expected results:
Many

Additional info:
The asus-nb-wmi module is blacklisted because it caused more trouble than it solved for using function keys. Never got in the way of actual typing.

Comment 1 Roy 2018-06-24 15:01:30 UTC
Created attachment 1454143 [details]
Dmesg of machine booting with kernel 4.17.2-200

Comment 2 Roy 2018-06-24 15:07:05 UTC
Created attachment 1454157 [details]
Correct dmesg of machine booting with kernel 4.16.16-300

Comment 3 Roy 2018-06-24 15:08:07 UTC
*** Bug 1594571 has been marked as a duplicate of this bug. ***

Comment 4 Roy 2018-06-25 13:39:33 UTC
To follow up on a question asked on freenode/#fedora-devel: Removing the blacklist entry for asus-nb-wmi does not change the situation, the keyboard still is not functioning at all on the released 4.17.2 kernel.

Comment 5 Jeremy Cline 2018-06-25 15:13:51 UTC
The problem is that when it's trying to allocate an IDR and there isn't one available. Nothing in that code has changed recently as far as I see.

Could you see if you can narrow down where the regression got introduced? All the pre-release 4.17 kernels we've built can be found in Koji[0]. I'd first see if it's in rc1 (kernel-4.17.0-0.rc1.git0.1.fc29). If it is, see which of the rc0 kernels it happened in. Otherwise, see which rc build introduced the problem.

[0] https://koji.fedoraproject.org/koji/search?match=glob&type=build&terms=kernel-4.17*

Comment 6 Roy 2018-06-25 16:58:00 UTC
Created attachment 1454423 [details]
ACPI dump Asus K501UB

Comment 7 Roy 2018-06-25 17:45:45 UTC
Okay, I've done a poor-mans bisect using koji kernels, and found the bug was introduced between kernel-4.17.0-0.rc0.git1.1.fc29 and kernel-4.17.0-0.rc0.git4.1.fc29.
I have attached an ACPI dump as well, as I'm 99% certain that the vast increase in ACPI errors are related to my problems. We had a little back-and-forth on IRC where I dare to conclude the following:

- Allocating an IDR fails if it's called with a "start" integer smaller than 0. For I2C devices this is set to adap->nr, unless adap->nr is -1, in which case it's assigned to __i2c_first_dynamic_bus_num.
- __i2c_first_dynamic_bus_num does not have a default value and is only initialised in i2c_register_board_info(). If due to ACPI problems this function is never called, it could default to anything including a negative number, causing the allocation to fail. Does it make sense to assign a default value to __i2c_first_dynamic_bus_num regardless of whether ACPI needs fixing?
- Semi-related: I've also lost a lot of suspend modes. 4.16 reports "ACPI: (supports S0 S3 S4 S5)", 4.17 reports ACPI: (supports S0). There many warnings in the logs leading up to that.

Comment 8 Laura Abbott 2018-06-25 18:25:17 UTC
This all really needs to be discussed upstream with the maintainers of the code since Fedora closely tracks that. I'd start with the maintainers of the intel-lpss framework, Jarkko Nikula <jarkko.nikula.com>, Andy Shevchenko <andriy.shevchenko.com> plus the ACPI maintainer Rafael J. Wysocki <rafael.j.wysocki> along with the usual mailing lists. If you have the ability, doing a kernel bisect to identify the specific commit that broke would be very helpful as well.

Comment 9 Roy 2018-06-27 15:43:59 UTC
Symptoms are gone with the just-released-upstream 4.17.3 kernel.


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