summaryrefslogtreecommitdiffstats
path: root/sys/dev/ath
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2003-11-01 03:37:33 +0000
committersam <sam@FreeBSD.org>2003-11-01 03:37:33 +0000
commit6a50a2893c026592f15cd2108e577c869d1ce37e (patch)
treebb021cef66292ddd9af163cb2e619f2c5156e97f /sys/dev/ath
parentec55e68d035503fdb4064298978d774aa7c8f32c (diff)
downloadFreeBSD-src-6a50a2893c026592f15cd2108e577c869d1ce37e.zip
FreeBSD-src-6a50a2893c026592f15cd2108e577c869d1ce37e.tar.gz
o check hal ABI version to catch driver-HAL mismatches
o print MAC, PHY, and radio h/w revisions at attach
Diffstat (limited to 'sys/dev/ath')
-rw-r--r--sys/dev/ath/if_ath.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c
index f464f96..f1f8154 100644
--- a/sys/dev/ath/if_ath.c
+++ b/sys/dev/ath/if_ath.c
@@ -196,6 +196,22 @@ ath_attach(u_int16_t devid, struct ath_softc *sc)
error = ENXIO;
goto bad;
}
+ if (ah->ah_abi != HAL_ABI_VERSION) {
+ if_printf(ifp, "HAL ABI mismatch detected (0x%x != 0x%x)\n",
+ ah->ah_abi, HAL_ABI_VERSION);
+ error = ENXIO;
+ goto bad;
+ }
+ if_printf(ifp, "mac %d.%d phy %d.%d",
+ ah->ah_macVersion, ah->ah_macRev,
+ ah->ah_phyRev >> 4, ah->ah_phyRev & 0xf);
+ if (ah->ah_analog5GhzRev)
+ printf(" 5ghz radio %d.%d",
+ ah->ah_analog5GhzRev >> 4, ah->ah_analog5GhzRev & 0xf);
+ if (ah->ah_analog2GhzRev)
+ printf(" 2ghz radio %d.%d",
+ ah->ah_analog2GhzRev >> 4, ah->ah_analog2GhzRev & 0xf);
+ printf("\n");
sc->sc_ah = ah;
sc->sc_invalid = 0; /* ready to go, enable interrupt handling */
OpenPOWER on IntegriCloud