Commit d613ff0a authored by Ivan Kokshaysky's avatar Ivan Kokshaysky Committed by Linus Torvalds

[PATCH] PCI: transparent bridge detection fix

The detection of subtractive decoding bridges is broken: `class' variable
doesn't contain ProgIf byte at this point, I should check `dev->class'
instead.

This fixes resource allocation problems on certain docking stations.
parent 72c85a12
...@@ -384,7 +384,7 @@ int pci_setup_device(struct pci_dev * dev) ...@@ -384,7 +384,7 @@ int pci_setup_device(struct pci_dev * dev)
/* The PCI-to-PCI bridge spec requires that subtractive /* The PCI-to-PCI bridge spec requires that subtractive
decoding (i.e. transparent) bridge must have programming decoding (i.e. transparent) bridge must have programming
interface code of 0x01. */ interface code of 0x01. */
dev->transparent = ((class & 0xff) == 1); dev->transparent = ((dev->class & 0xff) == 1);
pci_read_bases(dev, 2, PCI_ROM_ADDRESS1); pci_read_bases(dev, 2, PCI_ROM_ADDRESS1);
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment