-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 2013-01-22 12:56:29 -0500, Pawel Jakub Dawidek wrote:
> I just upgraded to HEAD today and was wondering what will explode.
> Now I know.
>
> When I unplug power cord from my laptop, ACPI panics. Pictures
> here:
>
> http://people.freebsd.org/~pjd/misc/acpi_panic_0.jpg
> http://people.freebsd.org/~pjd/misc/acpi_panic_1.jpg
>
> Let me know if you need more info.
Can you please try the attached patch? It is also available from here:
http://people.freebsd.org/~jkim/utcache.diff
Please note the patch may or may not fix the problem but I think I
found an ancient bug. :-(
Thanks,
Jung-uk Kim
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)
iQEcBAEBAgAGBQJRAIZhAAoJECXpabHZMqHOWl8H/3pUGshUkzCNbEOQHoZOYXMW
TtLaUqdV3/zYGEYDYl5Tbxv2JUz4tWDU5KlWhnZk+MjNnR1+g0fgzQu3mK056NU+
rpZucEnoaEeKriLpd+Hsw3Y28eXiY8/9T8/SnFMUW7AS6HZk8G7itdu9cx9A+IY6
A2tQBIpDXes4a5BLNZzyP/2dSMrcKVeS28+fZlxGdWWakFs5/FWYguK5kR2PIkCS
3yh8vEv7XH8WJz+sK/v/jcpcxt+heCG+j8XIwJieqk1CDXaCtH6g+4mlKQogsZY1
1YSYaGE+/szNvnR9UjW1+x/mhA5atFa9ysCq96zvVOs/Ih7X9Id4fZ6laetSDIs=
=rUXs
-----END PGP SIGNATURE-----
Index: sys/contrib/dev/acpica/components/utilities/utcache.c
===================================================================
--- sys/contrib/dev/acpica/components/utilities/utcache.c (revision 245848)
+++ sys/contrib/dev/acpica/components/utilities/utcache.c (working copy)
@@ -95,7 +95,6 @@ AcpiOsCreateCache (
/* Populate the cache object and return it */
ACPI_MEMSET (Cache, 0, sizeof (ACPI_MEMORY_LIST));
- Cache->LinkOffset = 8;
Cache->ListName = CacheName;
Cache->ObjectSize = ObjectSize;
Cache->MaxDepth = MaxDepth;
@@ -121,7 +120,7 @@ ACPI_STATUS
AcpiOsPurgeCache (
ACPI_MEMORY_LIST *Cache)
{
- char *Next;
+ void *Next;
ACPI_STATUS Status;
@@ -145,8 +144,7 @@ AcpiOsPurgeCache (
{
/* Delete and unlink one cached state object */
- Next = *(ACPI_CAST_INDIRECT_PTR (char,
- &(((char *) Cache->ListHead)[Cache->LinkOffset])));
+ Next = ((ACPI_OBJECT_COMMON *) Cache->ListHead)->NextObject;
ACPI_FREE (Cache->ListHead);
Cache->ListHead = Next;
@@ -251,8 +249,7 @@ AcpiOsReleaseObject (
/* Put the object at the head of the cache list */
- * (ACPI_CAST_INDIRECT_PTR (char,
- &(((char *) Object)[Cache->LinkOffset]))) = Cache->ListHead;
+ ((ACPI_OBJECT_COMMON *) Object)->NextObject = Cache->ListHead;
Cache->ListHead = Object;
Cache->CurrentDepth++;
@@ -307,8 +304,7 @@ AcpiOsAcquireObject (
/* There is an object available, use it */
Object = Cache->ListHead;
- Cache->ListHead = *(ACPI_CAST_INDIRECT_PTR (char,
- &(((char *) Object)[Cache->LinkOffset])));
+ Cache->ListHead = ((ACPI_OBJECT_COMMON *) Object)->NextObject;
Cache->CurrentDepth--;
Index: sys/contrib/dev/acpica/include/actypes.h
===================================================================
--- sys/contrib/dev/acpica/include/actypes.h (revision 245848)
+++ sys/contrib/dev/acpica/include/actypes.h (working copy)
@@ -1226,7 +1226,6 @@ typedef struct acpi_memory_list
UINT16 ObjectSize;
UINT16 MaxDepth;
UINT16 CurrentDepth;
- UINT16 LinkOffset;
#ifdef ACPI_DBG_TRACK_ALLOCATIONS
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[email protected]"