summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2009-04-09 16:53:59 +0000
committersam <sam@FreeBSD.org>2009-04-09 16:53:59 +0000
commit72be4f0804adc397bab3f63b91ee2ed5d71614b4 (patch)
tree9b67ea3bf88e25d15e10f2b0bc2eed263f2c3159
parent3d066da09825b54d2cbf056eb2086d7ebd5d043a (diff)
downloadFreeBSD-src-72be4f0804adc397bab3f63b91ee2ed5d71614b4.zip
FreeBSD-src-72be4f0804adc397bab3f63b91ee2ed5d71614b4.tar.gz
check the method pointer before invoking ah_eepromDetach as it can
be null if attach work fails before hooking up the eeprom support Obtained from: madwifi
-rw-r--r--sys/dev/ath/ath_hal/ah_internal.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/ath/ath_hal/ah_internal.h b/sys/dev/ath/ath_hal/ah_internal.h
index 8b00e30..ef5aba5 100644
--- a/sys/dev/ath/ath_hal/ah_internal.h
+++ b/sys/dev/ath/ath_hal/ah_internal.h
@@ -333,8 +333,10 @@ struct ath_hal_private {
#define ath_hal_disablePCIE(_ah) \
(_ah)->ah_disablePCIE(_ah)
-#define ath_hal_eepromDetach(_ah) \
- AH_PRIVATE(_ah)->ah_eepromDetach(_ah)
+#define ath_hal_eepromDetach(_ah) do { \
+ if (AH_PRIVATE(_ah)->ah_eepromDetach != AH_NULL) \
+ AH_PRIVATE(_ah)->ah_eepromDetach(_ah); \
+} while (0)
#define ath_hal_eepromGet(_ah, _param, _val) \
AH_PRIVATE(_ah)->ah_eepromGet(_ah, _param, _val)
#define ath_hal_eepromSet(_ah, _param, _val) \
OpenPOWER on IntegriCloud