* Carsten Emde | 2013-11-30 17:40:49 [+0100]: ># addr2line -e vmlinux 0xffffffff81298301 >/usr/src/kernels/linux-3.12.0-rt2/drivers/acpi/ec.c:186 > > if (t->wlen > t->wi) { > if ((status & ACPI_EC_FLAG_IBF) == 0) > acpi_ec_write_data(ec, >----> t->wdata[t->wi++]); > else > goto err; based on the assembly, I *think* this is t->wdata[x] wher X is outside of wdata's range. But then the pointer is almost NULL. Could one of you check with the acpi folks if they know some tricks how to debug this ACPI thingy? Is this any help? diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c index a06d983..d3add07 100644 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c @@ -175,16 +175,19 @@ static void start_transaction(struct acpi_ec *ec) static void advance_transaction(struct acpi_ec *ec, u8 status) { unsigned long flags; - struct transaction *t = ec->curr; + struct transaction *t; spin_lock_irqsave(&ec->lock, flags); + t = ec->curr; if (!t) goto unlock; if (t->wlen > t->wi) { - if ((status & ACPI_EC_FLAG_IBF) == 0) + if ((status & ACPI_EC_FLAG_IBF) == 0) { + if (WARN_ON_ONCE(!t->wdata)) + goto err; acpi_ec_write_data(ec, t->wdata[t->wi++]); - else + } else goto err; } else if (t->rlen > t->ri) { if ((status & ACPI_EC_FLAG_OBF) == 1) { Sebastian -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html