--- a/ath/if_ath.c +++ b/ath/if_ath.c @@ -1778,17 +1778,14 @@ ath_uapsd_processtriggers(struct ath_sof * may have occurred in the intervening timeframe. */ bf->bf_channoise = ic->ic_channoise; - if (rs->rs_status) { - if ((HAL_RXERR_PHY == rs->rs_status) && - (HAL_PHYERR_RADAR == - (rs->rs_phyerr & 0x1f)) && - (0 == (bf->bf_status & - ATH_BUFSTATUS_RADAR_DONE))) { - check_for_radar = 1; - } - /* Skip past the error now */ + if ((HAL_RXERR_PHY == rs->rs_status) && + (HAL_PHYERR_RADAR == (rs->rs_phyerr & 0x1f)) && + (0 == (bf->bf_status & ATH_BUFSTATUS_RADAR_DONE)) && + (ic->ic_flags & IEEE80211_F_DOTH)) + check_for_radar = 1; + + if (rs->rs_status) /* Skip past the error now */ continue; - } /* Prepare wireless header for examination */ bus_dma_sync_single(sc->sc_bdev, bf->bf_skbaddr, --- a/ath/if_ath_radar.c +++ b/ath/if_ath_radar.c @@ -265,7 +265,7 @@ int ath_radar_update(struct ath_softc *s unsigned int new_rxfilt = old_rxfilt; ath_hal_intrset(ah, old_ier & ~HAL_INT_GLOBAL); - if (required) { + if ((required) && (ic->ic_flags & IEEE80211_F_DOTH)) { new_radar |= AR5K_PHY_RADAR_ENABLE; new_filter |= AR5K_AR5212_PHY_ERR_FIL_RADAR; new_rxfilt |= (HAL_RX_FILTER_PHYERR |