summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2011-01-31 20:00:43 +0000
committeryongari <yongari@FreeBSD.org>2011-01-31 20:00:43 +0000
commitf0f27d3c5b9d952d632a3795e1a7876280639ae6 (patch)
treeb591f3b6c14d63f6ded5cd8cc9ed577d7baad1de
parentec8c08c08176e689728dbd15e5e5c91411611eff (diff)
downloadFreeBSD-src-f0f27d3c5b9d952d632a3795e1a7876280639ae6.zip
FreeBSD-src-f0f27d3c5b9d952d632a3795e1a7876280639ae6.tar.gz
alc_rev was used without initialization such that it failed to
apply AR8152 v1.0 specific initialization code. Fix this bug by explicitly reading PCI device revision id via PCI accessor. Reported by: Gabriel Linder ( linder.gabriel <> gmail dot com )
-rw-r--r--sys/dev/alc/if_alc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/alc/if_alc.c b/sys/dev/alc/if_alc.c
index 2df1c8d..25625c4 100644
--- a/sys/dev/alc/if_alc.c
+++ b/sys/dev/alc/if_alc.c
@@ -810,7 +810,7 @@ alc_attach(device_t dev)
CSR_READ_4(sc, ALC_PCIE_PHYMISC) |
PCIE_PHYMISC_FORCE_RCV_DET);
if (sc->alc_ident->deviceid == DEVICEID_ATHEROS_AR8152_B &&
- sc->alc_rev == ATHEROS_AR8152_B_V10) {
+ pci_get_revid(dev) == ATHEROS_AR8152_B_V10) {
val = CSR_READ_4(sc, ALC_PCIE_PHYMISC2);
val &= ~(PCIE_PHYMISC2_SERDES_CDR_MASK |
PCIE_PHYMISC2_SERDES_TH_MASK);
OpenPOWER on IntegriCloud