summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/dev/ath/ath_hal/ar5416/ar5416_recv.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c b/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c
index 4a480aa..251f826 100644
--- a/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c
+++ b/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c
@@ -67,6 +67,7 @@ ar5416SetupRxDesc(struct ath_hal *ah, struct ath_desc *ds,
uint32_t size, u_int flags)
{
struct ar5416_desc *ads = AR5416DESC(ds);
+ HAL_CAPABILITIES *pCap = &AH_PRIVATE(ah)->ah_caps;
HALASSERT((size &~ AR_BufLen) == 0);
@@ -77,6 +78,10 @@ ar5416SetupRxDesc(struct ath_hal *ah, struct ath_desc *ds,
/* this should be enough */
ads->ds_rxstatus8 &= ~AR_RxDone;
+ /* clear the rest of the status fields */
+ if (! pCap->halAutoSleepSupport)
+ OS_MEMZERO(&(ads->u), sizeof(ads->u));
+
return AH_TRUE;
}
OpenPOWER on IntegriCloud