lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Sun, 27 Jun 2010 23:21:19 +0200
From:	Jiri Slaby <jslaby@...e.cz>
To:	lenb@...nel.org
Cc:	linux-pci@...r.kernel.org, linux-acpi@...r.kernel.org,
	linux-kernel@...r.kernel.org, jirislaby@...il.com,
	Jesse Barnes <jbarnes@...tuousgeek.org>
Subject: [PATCH 1/1] ACPI: pci_irq, add PRT_ quirk for IBM Bartolo

On IBM Bartolo machines, cards in 00:09.0 are defunct (if use
interrupts). DSDT says that this slot (with function 0, i.e. pin A) is
routed to \_SB_.PCI0.PIB_.LNKB. But it's not, it's wired to LNKC, so
interrupts are misrouted. Add a quirk for this to workaround the
issue.

This error was reported in suse bugzilla at:
https://bugzilla.novell.com/show_bug.cgi?id=595683

Signed-off-by: Jiri Slaby <jslaby@...e.cz>
Cc: Len Brown <lenb@...nel.org>
Cc: Jesse Barnes <jbarnes@...tuousgeek.org>
---
 drivers/acpi/pci_irq.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c
index e4804fb..8e054a4 100644
--- a/drivers/acpi/pci_irq.c
+++ b/drivers/acpi/pci_irq.c
@@ -125,6 +125,18 @@ static const struct dmi_system_id hp_t5710[] = {
 	{ }
 };
 
+/* https://bugzilla.novell.com/show_bug.cgi?id=595683 */
+static const struct dmi_system_id ibm_bartolo[] = {
+	{
+		.ident = "IBM Bartolo",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "IBM CORPORATION"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "4810320"),
+		},
+	},
+	{ }
+};
+
 struct prt_quirk {
 	const struct dmi_system_id *system;
 	unsigned int		segment;
@@ -152,6 +164,9 @@ static const struct prt_quirk prt_quirks[] = {
 	{ hp_t5710, 0, 0, 1, PCI_INTX_PIN('A'),
 		"\\_SB_.PCI0.LNK1",
 		"\\_SB_.PCI0.LNK3"},
+	{ ibm_bartolo, 0, 0, 9, PCI_INTX_PIN('A'),
+		"\\_SB_.PCI0.PIB_.LNKB",
+		"\\_SB_.PCI0.PIB_.LNKC"},
 };
 
 static void do_prt_fixups(struct acpi_prt_entry *entry,
-- 
1.7.1


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ