summaryrefslogtreecommitdiff
path: root/sys/dev/ic/athn.c
diff options
context:
space:
mode:
authorDamien Bergamini <damien@cvs.openbsd.org>2010-02-24 19:39:44 +0000
committerDamien Bergamini <damien@cvs.openbsd.org>2010-02-24 19:39:44 +0000
commitfd3b0b111c42854de582c577544c5265160b4597 (patch)
treef5cadb98a9e9b47809a3b66767519fef84f51529 /sys/dev/ic/athn.c
parent5c35a88800d244a004fa56c06519ff0b806e16c4 (diff)
Disable Reduced Interframe Space search on AR9160 to workaround
baseband issues. It would be cleaner to modify directly the initvals for AR9160 but I want to keep the exact same initvals as the Linux ath9k driver. from ath9k
Diffstat (limited to 'sys/dev/ic/athn.c')
-rw-r--r--sys/dev/ic/athn.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/dev/ic/athn.c b/sys/dev/ic/athn.c
index a6adeca58f7..30b08296919 100644
--- a/sys/dev/ic/athn.c
+++ b/sys/dev/ic/athn.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: athn.c,v 1.26 2010/02/21 19:57:05 kettenis Exp $ */
+/* $OpenBSD: athn.c,v 1.27 2010/02/24 19:39:43 damien Exp $ */
/*-
* Copyright (c) 2009 Damien Bergamini <damien.bergamini@free.fr>
@@ -4032,6 +4032,12 @@ athn_hw_init(struct athn_softc *sc, struct ieee80211_channel *c,
if (AR_SREV_5416_20_OR_LATER(sc) && !AR_SREV_9280_10_OR_LATER(sc)) {
/* Disable baseband clock gating. */
AR_WRITE(sc, AR_PHY(651), 0x11);
+
+ if (AR_SREV_9160(sc)) {
+ /* Disable RIFS search to fix baseband hang. */
+ AR_CLRBITS(sc, AR_PHY_HEAVY_CLIP_FACTOR_RIFS,
+ AR_PHY_RIFS_INIT_DELAY_M);
+ }
}
athn_set_phy(sc, c, extc);