diff options
author | Damien Bergamini <damien@cvs.openbsd.org> | 2010-02-24 19:39:44 +0000 |
---|---|---|
committer | Damien Bergamini <damien@cvs.openbsd.org> | 2010-02-24 19:39:44 +0000 |
commit | fd3b0b111c42854de582c577544c5265160b4597 (patch) | |
tree | f5cadb98a9e9b47809a3b66767519fef84f51529 /sys/dev/ic/athn.c | |
parent | 5c35a88800d244a004fa56c06519ff0b806e16c4 (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.c | 8 |
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); |