-----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
_______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"