Messages in this thread Patch in this message | | | Date | Thu, 03 Nov 2011 12:34:14 +1100 | From | Peter Chubb <> | Subject | Re: [PATCH RESEND] Fix reboot regression on Acer Aspire One AOA110 |
| |
>>>>> "Vasily" == Vasily Khoruzhick <anarsoul@gmail.com> writes:
Vasily> From: Uroš Vampl <mobile.leecher@gmail.com> Starting with Vasily> kernel 3.0, my Acer Aspire One AOA110 hangs on reboot. Doing Vasily> an internet search, I found that in git commit Vasily> b49c78d4827be8d7e67e5b94adac6b30a4a9ad14 the machine was made Vasily> to reboot with the bios method, but it does not work on most Vasily> (all?) AOA110s.
That change was made in July to fix the broken ACPI reboot method. It certainly works on my AOA110. What BIOS do you have installed? (although looking at what's been published, I can't see any booting problems mentioned in the BIOS changelogs).
Vasily> This patch introduces new quirks section for machines that Vasily> only reboot with the kbd method and put the Aspire One into Vasily> it.
You don't need yet another table, just change the callback.
Try this:
Index: linux-2.6/arch/x86/kernel/reboot.c =================================================================== --- linux-2.6.orig/arch/x86/kernel/reboot.c 2011-10-31 14:35:50.105623537 +1100 +++ linux-2.6/arch/x86/kernel/reboot.c 2011-11-03 11:54:12.487901547 +1100 @@ -124,7 +124,7 @@ */ /* - * Some machines require the "reboot=b" commandline option, + * Some machines require the "reboot=b" or "reboot=k" commandline options, * this quirk makes that automatic. */ static int __init set_bios_reboot(const struct dmi_system_id *d) @@ -136,6 +136,15 @@ return 0; } +static int __init set_kbd_reboot(const struct dmi_system_id *d) +{ + if (reboot_type != BOOT_KBD) { + reboot_type = BOOT_KBD; + printk(KERN_INFO "%s series board detected. Selecting KBD-method for reboots.\n", d->ident); + } + return 0; +} + static struct dmi_system_id __initdata reboot_dmi_table[] = { { /* Handle problems with rebooting on Dell E520's */ .callback = set_bios_reboot, @@ -295,7 +304,7 @@ }, }, { /* Handle reboot issue on Acer Aspire one */ - .callback = set_bios_reboot, + .callback = set_kbd_reboot, .ident = "Acer Aspire One A110", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Acer"), -- Dr Peter Chubb peter DOT chubb AT nicta.com.au http://www.ertos.nicta.com.au ERTOS within National ICT Australia All things shall perish from under the sky/Music alone shall live, never to die -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |