Bug 67351
Summary: | ACPI Fix that breaks _BIX table parsing. | ||
---|---|---|---|
Product: | ACPI | Reporter: | Francisco Castro (fcr) |
Component: | Power-Battery | Assignee: | Lan Tianyu (tianyu.lan) |
Status: | CLOSED CODE_FIX | ||
Severity: | high | CC: | fcr, tianyu.lan |
Priority: | P1 | ||
Hardware: | x86-64 | ||
OS: | Linux | ||
Kernel Version: | 3.8.0.31 onwards | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Attachments: |
Binary dump of dmidecode
debug.patch Fix for nec lz750-ls bat.patch update_bat.patch |
Description
Francisco Castro
2013-12-19 05:52:08 UTC
Hi, check the _BIX package in the acpidump and it doesn't comply with ACPI5.0 SPEC(Table 10-234). The first member should be "revision" which always should be 0 which the first member of the package on this machine is "Power Unit" which is the second member according ACPI SPEC. So this is a Bios problem. We can do a quirk for such machine. So please provide the output of the dmidecode. Name (BIX0, Package (0x13) { { One, 0x1130, 0x1130, One, 0x39D0, Zero, Zero, 0xFFFFFFFF, 0x00013880, 0x07D0, 0x07D0, 0x0BB8, 0x03E8, One, One, "CRB Battery 0", "Battery 0", "Lipo", "-Virtual Battery 0-" }) } Created attachment 119011 [details]
Binary dump of dmidecode
Created attachment 119131 [details]
debug.patch
Please try this patch.
Created attachment 119151 [details]
Fix for nec lz750-ls
I modified the previous patch, changing the order where dmi_check_system is called. That's because acpi_bus_register_driver ends up calling acpi_battery_add, which calls acpi_battery_update which calls acpi_battery_get_info (where the battery_bix_broken_package flag is used).
And now it's working again.
Created attachment 119311 [details]
bat.patch
Thanks for test and correction. I just rework the patch. Please test again.
Created attachment 119321 [details]
update_bat.patch
Tested and working. Thank you! Fix patch is sent to ACPI maillist. https://patchwork.kernel.org/patch/3423901/ |