I've read the other thread about this problem on acpi-devel, and I'm running into the same thing here. The oops and ksymoops output is attatched. I went to debug the problem. The oops occurs in asus_acpi.c, line 1016: hotk->model = END_MODEL; if (strncmp(model->string.pointer, "L3D", 3) == 0) // <-- OOPS hotk->model = L3D; Some added debug printk's later it turned out that: model->type == ACPI_TYPE_INTEGER model->integer.value == 56 This is why the problem wasn't fixed by your patch, since that resided in the if (model->type == ACPI_TYPE_STRING) code-path. I've attatched a patch that works for me, but IMHO it's ugly and only fixes the sympthoms. Why do we get an integer here in the first place? Please mail me if you have more questions, stuff for me to try out, or eventually figure out what's going on here. Cheers, Christian Aichinger PS: Please CC: me, I'm not subscribed to acpi-devel.