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-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 27 Dec 2007 13:46:32 -0800 (PST)
From:	Linus Torvalds <torvalds@...ux-foundation.org>
To:	Loic Prylli <loic@...i.com>
cc:	Robert Hancock <hancockr@...w.ca>, Jeff Garzik <jeff@...zik.org>,
	Arjan van de Ven <arjan@...radead.org>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	gregkh@...e.de, linux-pci <linux-pci@...ey.karlin.mff.cuni.cz>,
	Benjamin Herrenschmidt <benh@...nel.crashing.org>,
	Martin Mares <mj@....cz>, Matthew Wilcox <matthew@....cx>,
	Kai Ruhnau <kai@...getaschen.dyndns.org>
Subject: Re: [Patch v2] Make PCI extended config space (MMCONFIG) a driver
 opt-in



On Thu, 27 Dec 2007, Linus Torvalds wrote:
> 
> Kai, can you try that? Just remove the call to pci_enable_crs() in 
> pci_scan_bridge() in drivers/pci/probe.c, and see if mmconfig starts 
> working for you?

We could also make the error handling more permissive, and just check for 
the low 16 bits, which is the part that the CRS spec mentions the actual 
value for. The whole vendor ID of 0x0001 is mentioned int he CRS spec as 
being explicitly chosen exactly because it's invalid.

That said, given that we don't actually reap any benefits from CRS support 
right now *anyway*, I think the right thing to do is disable it by 
default. But it would be interesting to know if this patch makes it work 
on those ATI bridges..

		Linus

---
 drivers/pci/probe.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 2f75d69..94cd3a4 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -908,7 +908,7 @@ pci_scan_device(struct pci_bus *bus, int devfn)
 		return NULL;
 
 	/* Configuration request Retry Status */
-	while (l == 0xffff0001) {
+	while ((l & 0xffff) == 0x0001) {
 		msleep(delay);
 		delay *= 2;
 		if (pci_bus_read_config_dword(bus, devfn, PCI_VENDOR_ID, &l))
--
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