summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Bergamini <damien@cvs.openbsd.org>2010-02-07 12:44:58 +0000
committerDamien Bergamini <damien@cvs.openbsd.org>2010-02-07 12:44:58 +0000
commitb9b2510b2510dbab6c39eb3bc4ca18cd2d28cb41 (patch)
tree5d115906aa1f9c052be7e8b25228669baa657da5
parent6911a153bc00e5fe8b5c4020f10a7977ea0a9610 (diff)
writing to RT2860_TX_PIN_CFG requires some extra steps on RT3572
-rw-r--r--sys/dev/usb/if_run.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/dev/usb/if_run.c b/sys/dev/usb/if_run.c
index b332e7eef74..b0faa0a52ba 100644
--- a/sys/dev/usb/if_run.c
+++ b/sys/dev/usb/if_run.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_run.c,v 1.49 2010/02/07 12:12:11 damien Exp $ */
+/* $OpenBSD: if_run.c,v 1.50 2010/02/07 12:44:57 damien Exp $ */
/*-
* Copyright (c) 2008-2010 Damien Bergamini <damien.bergamini@free.fr>
@@ -2367,7 +2367,12 @@ run_select_chan_group(struct run_softc *sc, int group)
if (sc->nrxchains > 1)
tmp |= RT2860_LNA_PE_A1_EN;
}
- run_write(sc, RT2860_TX_PIN_CFG, tmp);
+ if (sc->mac_ver == 0x3572) {
+ run_rt3070_rf_write(sc, 8, 0x00);
+ run_write(sc, RT2860_TX_PIN_CFG, tmp);
+ run_rt3070_rf_write(sc, 8, 0x80);
+ } else
+ run_write(sc, RT2860_TX_PIN_CFG, tmp);
/* set initial AGC value */
if (group == 0) { /* 2GHz band */