From owner-freebsd-acpi@FreeBSD.ORG Tue Nov 20 03:09:25 2007 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BAA6016A41B for ; Tue, 20 Nov 2007 03:09:25 +0000 (UTC) (envelope-from root@varusonline.com) Received: from wr-out-0506.google.com (wr-out-0506.google.com [64.233.184.231]) by mx1.freebsd.org (Postfix) with ESMTP id 4E29213C457 for ; Tue, 20 Nov 2007 03:09:25 +0000 (UTC) (envelope-from root@varusonline.com) Received: by wr-out-0506.google.com with SMTP id 68so775249wra for ; Mon, 19 Nov 2007 19:09:20 -0800 (PST) Received: by 10.90.74.1 with SMTP id w1mr7982395aga.1195528160594; Mon, 19 Nov 2007 19:09:20 -0800 (PST) Received: from Serval.local ( [24.153.116.131]) by mx.google.com with ESMTPS id 66sm3799480wra.2007.11.19.19.09.19 (version=SSLv3 cipher=RC4-MD5); Mon, 19 Nov 2007 19:09:19 -0800 (PST) Message-ID: <47425024.6020502@varusonline.com> Date: Mon, 19 Nov 2007 22:10:28 -0500 From: Jessica Mahoney Organization: Varus Online User-Agent: Thunderbird 2.0.0.9 (Macintosh/20071031) MIME-Version: 1.0 To: Jung-uk Kim References: <200711192240.lAJMe3Sg075715@freefall.freebsd.org> <47421B56.2040809@root.org> <47422550.8030208@varusonline.com> <200711191942.26740.jkim@FreeBSD.org> In-Reply-To: <200711191942.26740.jkim@FreeBSD.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@FreeBSD.org Subject: Re: kern/117591: [acpi][panic] Divide by zero bug in ACPI X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Nov 2007 03:09:25 -0000 Jung-uk Kim wrote: > On Monday 19 November 2007 07:07 pm, Jessica Mahoney wrote: > >> Nate Lawson wrote: >> >>> John Baldwin wrote: >>> >>>> On Monday 19 November 2007 05:40:03 pm Jessica Mahoney wrote: >>>> >>>>> John Baldwin wrote: >>>>> > Can you get a stack trace? >>>>> >>>>> Tracing pid 878 tid 100080 td 0xc3f26440 >>>>> >>>>> acpi_battery_get_battinfo(c3a27980,c3ee4d00,e51e1c60,c3ee4d00,0 >>>>> ,...) at acpi_battery_get_battinfo+0x26f >>>>> acpi_battery_ioctl(c0a44203,c3ee4d00,0,c40ec880,e51e1c08,...) >>>>> at acpi_battery_ioctl+0x14b >>>>> acpiioctl(c3a9e900,c0a44203,c3ee4d00,3,c3f26440,...) at >>>>> acpiioctl_0xdd >>>>> devfs_ioctl_f(c3e35d80,c0a44203,c3ee4d00,c3ee5800,c3f26440,...) >>>>> at devfs_ioctl_f+0xcb >>>>> kern_ioctl(c3f26440,3,c0a44203,c3ee4d00,1000a24,..._ at >>>>> kern_ioctl+0x355 >>>>> ioctl(c3f26440,e51e1cfc,c,c3f26440,e51e1d2c,...) at ioctl+0x134 >>>>> syscall(e51e1d38) at syscall+0x345 >>>>> Xint0x80_syscall() at Xint0x80_syscall+0x20 >>>>> --- syscall (54, FreeBSD ELF32, ioctl), eip = 0x2815289b, esp >>>>> = 0xbfbfec3c, ebp = 0xbfbfed28 --- >>>>> >>>>> If there's anything else needed, please let me know and I >>>>> shall provide. >>>>> >>>> You can try this: >>>> >>>> Index: acpi_battery.c >>>> ================================================================ >>>> === RCS file: /usr/cvs/src/sys/dev/acpica/acpi_battery.c,v >>>> retrieving revision 1.25 >>>> diff -u -r1.25 acpi_battery.c >>>> --- acpi_battery.c 9 Oct 2007 07:51:46 -0000 1.25 >>>> +++ acpi_battery.c 19 Nov 2007 23:17:48 -0000 >>>> @@ -198,8 +198,10 @@ >>>> */ >>>> if (bif->units == ACPI_BIF_UNITS_MA && bif->dvol != 0) { >>>> bst[i].rate = (bst[i].rate * bif->dvol) / 1000; >>>> +#if 0 >>>> bst[i].cap = (bst[i].cap * bif->dvol) / 1000; >>>> bif->lfcap = (bif->lfcap * bif->dvol) / 1000; >>>> +#endif >>>> } >>>> >>>> /* Calculate percent capacity remaining. */ >>>> >>>> I think the mA => mW scaling is resulting in lfcap becoming 0, >>>> but since all we want is a ratio for 'cap' so we can generate a >>>> percentage, we don't actually need to scale this. >>>> >>> I think this was already fixed in RELENG_6, 7, and 8-current. >>> Can the submitter cvsup and try again? >>> >> I just did a cvsup last night, and the issue still persists (hence >> why I was able to provide a trace). >> > > Can you try the attached patch? > > Jung-uk Kim > Mr Kim, Your patch works. I just hotplugged the battery 5 times while obtaining battery information essentially non-stop (scripted it), and little Panther didn't suffer from a kernel panic. Instead, the kernel just keeps skipping along the road as happily as before. Thank you. ~Jessica =^.^=