From 6a50a2893c026592f15cd2108e577c869d1ce37e Mon Sep 17 00:00:00 2001 From: sam Date: Sat, 1 Nov 2003 03:37:33 +0000 Subject: o check hal ABI version to catch driver-HAL mismatches o print MAC, PHY, and radio h/w revisions at attach --- sys/dev/ath/if_ath.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'sys/dev/ath/if_ath.c') 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 */ -- cgit v1.1