Messages in this thread Patch in this message | | | Date | Sat, 20 Jul 2002 21:14:28 -0400 | Subject | Re: 2.5.2[6-7] ACPI oops | From | Matthew Harrell <> |
| |
: : I think its related to ACPI since it comes right after the line : : ACPI: Embedded Controller [EC0] (gpe 1) : : Everything works fine in 2.5.25 but this started occuring right as I try : to boot up with 26 and 27. I had to hand type this so it may have some typos : in there but hopefully there's enough info to be useful. Let me know if : there's anything else I can provide :
Okay, I saw a patch on the list (don't remember who) that didn't specify which kernel version it was for but it was specifically for an ACPI crash. That fixed it fine so far. Patch is attached below and sorry I forgot who it was from
-- Matthew Harrell Never underestimate the power of Bit Twiddlers, Inc. very stupid people in large groups. mharrell@bittwiddlers.com --- linux/drivers/acpi-original/ec.c Fri Jul 12 22:43:11 2002 +++ linux/drivers/acpi/ec.c Fri Jul 12 23:28:14 2002 @@ -134,7 +134,7 @@ acpi_ec_read ( struct acpi_ec *ec, u8 address, - u8 *data) + u32 *data) { acpi_status status = AE_OK; int result = 0; @@ -167,7 +167,7 @@ goto end; - acpi_hw_low_level_read(8, (u32*) data, &ec->data_addr, 0); + acpi_hw_low_level_read(8, data, &ec->data_addr, 0); ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Read [%02x] from address [%02x]\n", *data, address)); @@ -237,7 +237,7 @@ static int acpi_ec_query ( struct acpi_ec *ec, - u8 *data) + u32 *data) { int result = 0; acpi_status status = AE_OK; @@ -269,7 +269,7 @@ if (result) goto end; - acpi_hw_low_level_read(8, (u32*) data, &ec->data_addr, 0); + acpi_hw_low_level_read(8, data, &ec->data_addr, 0); if (!*data) result = -ENODATA; @@ -328,7 +328,7 @@ { acpi_status status = AE_OK; struct acpi_ec *ec = (struct acpi_ec *) data; - u8 value = 0; + u32 value = 0; unsigned long flags = 0; struct acpi_ec_query_data *query_data = NULL; @@ -336,7 +336,7 @@ return; spin_lock_irqsave(&ec->lock, flags); - acpi_hw_low_level_read(8, (u32*) &value, &ec->command_addr, 0); + acpi_hw_low_level_read(8, &value, &ec->command_addr, 0); spin_unlock_irqrestore(&ec->lock, flags); /* TBD: Implement asynch events! @@ -398,6 +398,7 @@ { int result = 0; struct acpi_ec *ec = NULL; + u32 tmp = 0; ACPI_FUNCTION_TRACE("acpi_ec_space_handler"); @@ -408,7 +409,8 @@ switch (function) { case ACPI_READ: - result = acpi_ec_read(ec, (u8) address, (u8*) value); + result = acpi_ec_read(ec, (u8) address, &tmp); + *value = (acpi_integer) tmp; break; case ACPI_WRITE: result = acpi_ec_write(ec, (u8) address, (u8) *value);
| |