| Submitter | Leann Ogasawara |
|---|---|
| Date | Sept. 14, 2011, 6:27 p.m. |
| Message ID | <1316024842.9332.8.camel@adamo> |
| Download | mbox | patch |
| Permalink | /patch/114698/ |
| State | New |
| Headers | show |
Comments
On 09/14/2011 12:27 PM, Leann Ogasawara wrote: > Hi All, > > BugLink: http://bugs.launchpad.net/bugs/818933 > > So given that we are pretty much in Kernel Freeze, I'm submitting the > following patch per our SRU guidelines... > > == SRU Justification == > > It's been reported that the Dell Optiplex 990 doesn't reboot unless > using reboot=pci. The following patch resolves this issue and has been > successfully tested. Upstream is unfortunately not accepting any > additional quirk patches like this as they would prefer to migrate to a > more systematic approach. Given that the patch is system specific (ie > low risk of regression), precedence for similar quirk patches already > existing, and having received positive test results, I feel it should be > carried as a SAUCE patch until a more systematic approach can be found > which upstream will accept. > > == Impact == > Affects Dell Optiplex 990 models. > > == Test Case == > Without the patch, those with a Dell Optiplex 990 must use reboot=pci as > a workaround in order for the system to successfully reboot. With the > patch applied, the work around is no longer needed. > > == Fix == > See patch below. > > From 8f16739b2712e9e571e0e60499c72521ff273401 Mon Sep 17 00:00:00 2001 > From: Leann Ogasawara<leann.ogasawara@canonical.com> > Date: Thu, 1 Sep 2011 07:42:32 -0700 > Subject: [PATCH] UBUNTU: SAUCE: x86: reboot: Make Dell Optiplex 990 use reboot=pci > > BugLink: http://bugs.launchpad.net/bugs/768039 > > The Dell Optiplex 990 doesn't reboot unless reboot=pci is set. > > Signed-off-by: Leann Ogasawara<leann.ogasawara@canonical.com> > --- > arch/x86/kernel/reboot.c | 8 ++++++++ > 1 files changed, 8 insertions(+), 0 deletions(-) > > diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c > index d2673af..947b53b 100644 > --- a/arch/x86/kernel/reboot.c > +++ b/arch/x86/kernel/reboot.c > @@ -475,6 +475,14 @@ static struct dmi_system_id __initdata pci_reboot_dmi_table[] = { > DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 790"), > }, > }, > + { /* Handle problems with rebooting on the OptiPlex 990. */ > + .callback = set_pci_reboot, > + .ident = "Dell OptiPlex 990", > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), > + DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 990"), > + }, > + }, > { } > }; >
Patch
diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c index d2673af..947b53b 100644 --- a/arch/x86/kernel/reboot.c +++ b/arch/x86/kernel/reboot.c @@ -475,6 +475,14 @@ static struct dmi_system_id __initdata pci_reboot_dmi_table[] = { DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 790"), }, }, + { /* Handle problems with rebooting on the OptiPlex 990. */ + .callback = set_pci_reboot, + .ident = "Dell OptiPlex 990", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 990"), + }, + }, { } };