aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/quirks.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pci/quirks.c')
-rw-r--r--drivers/pci/quirks.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 72e0bd5d80ac..53ee09a592b1 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -139,25 +139,22 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82439TX, quir
139static void quirk_vialatency(struct pci_dev *dev) 139static void quirk_vialatency(struct pci_dev *dev)
140{ 140{
141 struct pci_dev *p; 141 struct pci_dev *p;
142 u8 rev;
143 u8 busarb; 142 u8 busarb;
144 /* Ok we have a potential problem chipset here. Now see if we have 143 /* Ok we have a potential problem chipset here. Now see if we have
145 a buggy southbridge */ 144 a buggy southbridge */
146 145
147 p = pci_get_device(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, NULL); 146 p = pci_get_device(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, NULL);
148 if (p!=NULL) { 147 if (p!=NULL) {
149 pci_read_config_byte(p, PCI_CLASS_REVISION, &rev);
150 /* 0x40 - 0x4f == 686B, 0x10 - 0x2f == 686A; thanks Dan Hollis */ 148 /* 0x40 - 0x4f == 686B, 0x10 - 0x2f == 686A; thanks Dan Hollis */
151 /* Check for buggy part revisions */ 149 /* Check for buggy part revisions */
152 if (rev < 0x40 || rev > 0x42) 150 if (p->revision < 0x40 || p->revision > 0x42)
153 goto exit; 151 goto exit;
154 } else { 152 } else {
155 p = pci_get_device(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8231, NULL); 153 p = pci_get_device(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8231, NULL);
156 if (p==NULL) /* No problem parts */ 154 if (p==NULL) /* No problem parts */
157 goto exit; 155 goto exit;
158 pci_read_config_byte(p, PCI_CLASS_REVISION, &rev);
159 /* Check for buggy part revisions */ 156 /* Check for buggy part revisions */
160 if (rev < 0x10 || rev > 0x12) 157 if (p->revision < 0x10 || p->revision > 0x12)
161 goto exit; 158 goto exit;
162 } 159 }
163 160