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 )
This commit is contained in:
Pyun YongHyeon 2011-01-31 20:00:43 +00:00
parent d5267ede37
commit a280fae7c3
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=218141

View File

@ -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);