Created attachment 107237 [details] dmesg The battery on a Asus L4R laptop is not detected because the following error: ACPI Error: Method parse/execution failed [\_SB_.PCI0.BAT0._STA] (Node f5426600), AE_TIME (20121018/psparse-537)
Please try latest v3.11-rc6 kernel and provide the output of acpidump.
With kernel 3.11-rc6 the error now is: ACPI Error: Method parse/execution failed [\_SB_.PCI0.BAT0._STA] (Node f5827600), AE_TIME (20130517/psparse-536)
Created attachment 107255 [details] ACPI dump
Created attachment 107256 [details] dmesg 3.11-rc6
[ 1.124009] ACPI: EC: input buffer is not empty, aborting transaction This is caused by EC. So please apply the following patch and test again. Attach the dmesg. diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c index d45b287..34189f4 100644 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c @@ -27,7 +27,7 @@ */ /* Uncomment next line to get verbose printout */ -/* #define DEBUG */ +#define DEBUG #include <linux/kernel.h> #include <linux/module.h>
Created attachment 107270 [details] dmesg 3.11-rc6 with EC debug on
Ok. The log shows EC doesn't work at the start time. I can't see the whole log. Please add kernel param "log_buf_len=1M" and attach dmesg again. You also can try making the battery driver as module and check whether this can work.
Created attachment 107283 [details] dmesg 3.11 with log_buf_len=1M Set log_buf_len=1M and build battery driver as module
Created attachment 107287 [details] ec.patch Please provide the output of dmidecode and try this patch.
Created attachment 107292 [details] dmidecode With the previous patch the battery is now finally detected. I'm attaching the output of dmidecode anyway
Created attachment 107297 [details] debug.patch Please test this patch. Thanks.
Do I need to apply this patch over the previous ec.c patch?
No, just apply the patch in the comment 11.
Whit just the debug.patch the battery is detected fine
The fix patch has been sent to ACPI maillist. https://patchwork.kernel.org/patch/2849363/
This patch has been merged into linux upstream tree. commit: 524f42fab787a9510be826ce3d736b56d454ac6d ACPI / EC: Add ASUSTEK L4R to quirk list in order to validate ECDT The ECDT of ASUSTEK L4R doesn't provide correct command and data I/O ports. The DSDT provides the correct information instead. For this reason, add this machine to quirk list for ECDT validation and use the EC information from the DSDT. [rjw: Changelog] References: https://bugzilla.kernel.org/show_bug.cgi?id=60765 Reported-and-tested-by: Daniele Esposti <expo@expobrain.net> Signed-off-by: Lan Tianyu <tianyu.lan@intel.com> Cc: All <stable@vger.kernel.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>