LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH] x86: add ASRock Q1900DC-ITX mainboard reboot quirk
@ 2015-03-30 20:44 Stefan Lippers-Hollmann
  2015-03-31  6:31 ` Ingo Molnar
  2015-04-02 12:28 ` [tip:x86/urgent] x86/reboot: Add " tip-bot for Stefan Lippers-Hollmann
  0 siblings, 2 replies; 4+ messages in thread
From: Stefan Lippers-Hollmann @ 2015-03-30 20:44 UTC (permalink / raw)
  To: linux-kernel
  Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Matt Fleming,
	Stefan Lippers-Hollmann

The ASRock Q1900DC-ITX mainboard (Baytrail-D) hangs randomly in both
BIOS and UEFI mode while rebooting unless reboot=pci is used. Add a
quirk to reboot via the pci method.

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Cc: <stable@vger.kernel.org>
---

The problem is very intermittent and hard to debug, it might succeed
rebooting just fine 40 times in a row - but fails half a dozen times
the next day. It seems to be slightly less common in BIOS CSM mode
than native UEFI (with the CSM disabled), but it does happen in either
mode. Since I've started testing this patch in late january, rebooting
has been 100% reliable.

Most of the time it already hangs during POST, but occassionally it
might even make it through the bootloader and the kernel might even
start booting, but then hangs before the mode switch. The same symptoms
occur with grub-efi, gummiboot and grub-pc, just as well as (at least)
kernel 3.16-3.19 and 4.0-rc6 (I haven't tried older kernels than 3.16). 
Upgrading to the most current mainboard firmware of the ASRock 
Q1900DC-ITX, version 1.20, does not improve the situation.

Searching the web seems to suggest that other Bay Trail-D mainboards
might be affected as well.

The patch applies without problems against 3.19, 4.0-rc and linux-next.

 arch/x86/kernel/reboot.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -183,6 +183,16 @@ static struct dmi_system_id __initdata r
 		},
 	},
 
+	/* ASRock */
+	{	/* Handle problems with rebooting on ASRock Q1900DC-ITX */
+		.callback = set_pci_reboot,
+		.ident = "ASRock Q1900DC-ITX",
+		.matches = {
+			DMI_MATCH(DMI_BOARD_VENDOR, "ASRock"),
+			DMI_MATCH(DMI_BOARD_NAME, "Q1900DC-ITX"),
+		},
+	},
+
 	/* ASUS */
 	{	/* Handle problems with rebooting on ASUS P4S800 */
 		.callback = set_bios_reboot,
-- 
2.1.4


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] x86: add ASRock Q1900DC-ITX mainboard reboot quirk
  2015-03-30 20:44 [PATCH] x86: add ASRock Q1900DC-ITX mainboard reboot quirk Stefan Lippers-Hollmann
@ 2015-03-31  6:31 ` Ingo Molnar
  2015-03-31 18:58   ` Stefan Lippers-Hollmann
  2015-04-02 12:28 ` [tip:x86/urgent] x86/reboot: Add " tip-bot for Stefan Lippers-Hollmann
  1 sibling, 1 reply; 4+ messages in thread
From: Ingo Molnar @ 2015-03-31  6:31 UTC (permalink / raw)
  To: Stefan Lippers-Hollmann
  Cc: linux-kernel, Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Matt Fleming


* Stefan Lippers-Hollmann <s.l-h@gmx.de> wrote:

> The ASRock Q1900DC-ITX mainboard (Baytrail-D) hangs randomly in both
> BIOS and UEFI mode while rebooting unless reboot=pci is used. Add a
> quirk to reboot via the pci method.
> 
[...]

Ok.

> Searching the web seems to suggest that other Bay Trail-D mainboards 
> might be affected as well.

Is the pattern:

> +		.ident = "ASRock Q1900DC-ITX",
> +		.matches = {
> +			DMI_MATCH(DMI_BOARD_VENDOR, "ASRock"),
> +			DMI_MATCH(DMI_BOARD_NAME, "Q1900DC-ITX"),

generic enough to cover all ASRock Bay Trail-D boards?

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] x86: add ASRock Q1900DC-ITX mainboard reboot quirk
  2015-03-31  6:31 ` Ingo Molnar
@ 2015-03-31 18:58   ` Stefan Lippers-Hollmann
  0 siblings, 0 replies; 4+ messages in thread
From: Stefan Lippers-Hollmann @ 2015-03-31 18:58 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Matt Fleming

[-- Attachment #1: Type: text/plain, Size: 2082 bytes --]

Hi

On 2015-03-31, Ingo Molnar wrote:
> * Stefan Lippers-Hollmann <s.l-h@gmx.de> wrote:
[...]
> > Searching the web seems to suggest that other Bay Trail-D mainboards 
> > might be affected as well.
> 
> Is the pattern:
> 
> > +		.ident = "ASRock Q1900DC-ITX",
> > +		.matches = {
> > +			DMI_MATCH(DMI_BOARD_VENDOR, "ASRock"),
> > +			DMI_MATCH(DMI_BOARD_NAME, "Q1900DC-ITX"),
> 
> generic enough to cover all ASRock Bay Trail-D boards?
[...]

No, it covers only the one I can personally test and confirm to require
this quirk, beyond my own ASRock Q1900DC-ITX[1], there are at least:

Celeron J1800:
 - ASRock D1800B-ITX, http://www.asrock.com/mb/Intel/D1800B-ITX/
 - ASRock D1800M, http://www.asrock.com/mb/Intel/D1800M/

Celeron J1900:
 - ASRock Q1900B-ITX, http://www.asrock.com/mb/Intel/Q1900B-ITX/
 - ASRock Q1900-ITX, http://www.asrock.com/mb/Intel/Q1900-ITX/
 - ASRock Q1900TM-ITX, http://www.asrock.com/mb/Intel/Q1900TM-ITX/
 - ASRock Q1900M Pro3, http://www.asrock.com/mb/Intel/Q1900M%20Pro3/
 - ASRock Q1900M, http://www.asrock.com/mb/Intel/Q1900M/

Pentium J2900:
 - ASRock Q2900M, http://www.asrock.com/mb/Intel/Q2900M/
 - ASRock Q2900-ITX, http://www.asrock.com/mb/Intel/Q2900-ITX/

All very similar boards, but their BIOS state might differ.

However I've never had access to any of those and could only do an
educated guess about their DMI identification[2]. While researching my
problem on the web, it seems that Baytrail-D boards from several vendors 
might be affected (e.g. Gigabyte). Sometimes apparently fixed by later 
BIOS updates, but I can only confirm the problem and workaround for my 
own ASRock Q1900DC-ITX mainboard (where all published BIOS versions are 
affected).

Regards
	Stefan Lippers-Hollmann

[1]	http://www.asrock.com/mb/Intel/Q1900DC-ITX/
[2]	I know that the very similar ASRock Q1900-ITX board uses
	DMI_MATCH(DMI_BOARD_VENDOR, "ASRock"),
	DMI_MATCH(DMI_BOARD_NAME, "Q1900-ITX"),
	but I don't have direct access to that board and can't
	check if it is also affected by this problem.

[-- Attachment #2: Digitale Signatur von OpenPGP --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [tip:x86/urgent] x86/reboot: Add ASRock Q1900DC-ITX mainboard reboot quirk
  2015-03-30 20:44 [PATCH] x86: add ASRock Q1900DC-ITX mainboard reboot quirk Stefan Lippers-Hollmann
  2015-03-31  6:31 ` Ingo Molnar
@ 2015-04-02 12:28 ` tip-bot for Stefan Lippers-Hollmann
  1 sibling, 0 replies; 4+ messages in thread
From: tip-bot for Stefan Lippers-Hollmann @ 2015-04-02 12:28 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: mingo, tglx, matt.fleming, hpa, linux-kernel, s.l-h, stable

Commit-ID:  80313b3078fcd2ca51970880d90757f05879a193
Gitweb:     http://git.kernel.org/tip/80313b3078fcd2ca51970880d90757f05879a193
Author:     Stefan Lippers-Hollmann <s.l-h@gmx.de>
AuthorDate: Mon, 30 Mar 2015 22:44:27 +0200
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Wed, 1 Apr 2015 14:08:09 +0200

x86/reboot: Add ASRock Q1900DC-ITX mainboard reboot quirk

The ASRock Q1900DC-ITX mainboard (Baytrail-D) hangs randomly in
both BIOS and UEFI mode while rebooting unless reboot=pci is
used. Add a quirk to reboot via the pci method.

The problem is very intermittent and hard to debug, it might succeed
rebooting just fine 40 times in a row - but fails half a dozen times
the next day. It seems to be slightly less common in BIOS CSM mode
than native UEFI (with the CSM disabled), but it does happen in either
mode. Since I've started testing this patch in late january, rebooting
has been 100% reliable.

Most of the time it already hangs during POST, but occasionally it
might even make it through the bootloader and the kernel might even
start booting, but then hangs before the mode switch. The same symptoms
occur with grub-efi, gummiboot and grub-pc, just as well as (at least)
kernel 3.16-3.19 and 4.0-rc6 (I haven't tried older kernels than 3.16).
Upgrading to the most current mainboard firmware of the ASRock
Q1900DC-ITX, version 1.20, does not improve the situation.

( Searching the web seems to suggest that other Bay Trail-D mainboards
  might be affected as well. )
--
Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Cc: <stable@vger.kernel.org>
Cc: Matt Fleming <matt.fleming@intel.com>
Link: http://lkml.kernel.org/r/20150330224427.0fb58e42@mir
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/kernel/reboot.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
index bae6c60..86db4bc 100644
--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -183,6 +183,16 @@ static struct dmi_system_id __initdata reboot_dmi_table[] = {
 		},
 	},
 
+	/* ASRock */
+	{	/* Handle problems with rebooting on ASRock Q1900DC-ITX */
+		.callback = set_pci_reboot,
+		.ident = "ASRock Q1900DC-ITX",
+		.matches = {
+			DMI_MATCH(DMI_BOARD_VENDOR, "ASRock"),
+			DMI_MATCH(DMI_BOARD_NAME, "Q1900DC-ITX"),
+		},
+	},
+
 	/* ASUS */
 	{	/* Handle problems with rebooting on ASUS P4S800 */
 		.callback = set_bios_reboot,

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-04-02 12:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-30 20:44 [PATCH] x86: add ASRock Q1900DC-ITX mainboard reboot quirk Stefan Lippers-Hollmann
2015-03-31  6:31 ` Ingo Molnar
2015-03-31 18:58   ` Stefan Lippers-Hollmann
2015-04-02 12:28 ` [tip:x86/urgent] x86/reboot: Add " tip-bot for Stefan Lippers-Hollmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).