svn commit: r288501 - head/sys/dev/usb/wlan
Adrian Chadd
adrian at FreeBSD.org
Fri Oct 2 15:22:01 UTC 2015
Author: adrian
Date: Fri Oct 2 15:22:00 2015
New Revision: 288501
URL: https://svnweb.freebsd.org/changeset/base/288501
Log:
rum(4): reduce code duplication.
Tested:
rum0: <Belkin Belkin 54g USB Network Adapter, class 0/0, rev 2.00/0.01, addr 21> on usbus0
rum0: MAC/BBP RT2573 (rev 0x2573a), RF RT2528
Submitted by: <s3erios at gmail.com>
Differential Revision: https://reviews.freebsd.org/D3606
Modified:
head/sys/dev/usb/wlan/if_rum.c
Modified: head/sys/dev/usb/wlan/if_rum.c
==============================================================================
--- head/sys/dev/usb/wlan/if_rum.c Fri Oct 2 15:07:02 2015 (r288500)
+++ head/sys/dev/usb/wlan/if_rum.c Fri Oct 2 15:22:00 2015 (r288501)
@@ -199,6 +199,7 @@ static void rum_set_chan(struct rum_sof
struct ieee80211_channel *);
static void rum_enable_tsf_sync(struct rum_softc *);
static void rum_enable_tsf(struct rum_softc *);
+static void rum_abort_tsf_sync(struct rum_softc *);
static void rum_update_slot(struct rum_softc *);
static void rum_set_bssid(struct rum_softc *, const uint8_t *);
static void rum_set_macaddr(struct rum_softc *, const uint8_t *);
@@ -687,7 +688,6 @@ rum_newstate(struct ieee80211vap *vap, e
const struct ieee80211_txparam *tp;
enum ieee80211_state ostate;
struct ieee80211_node *ni;
- uint32_t tmp;
ostate = vap->iv_state;
DPRINTF("%s -> %s\n",
@@ -700,11 +700,9 @@ rum_newstate(struct ieee80211vap *vap, e
switch (nstate) {
case IEEE80211_S_INIT:
- if (ostate == IEEE80211_S_RUN) {
- /* abort TSF synchronization */
- tmp = rum_read(sc, RT2573_TXRX_CSR9);
- rum_write(sc, RT2573_TXRX_CSR9, tmp & ~0x00ffffff);
- }
+ if (ostate == IEEE80211_S_RUN)
+ rum_abort_tsf_sync(sc);
+
break;
case IEEE80211_S_RUN:
@@ -1731,6 +1729,15 @@ rum_enable_tsf(struct rum_softc *sc)
}
static void
+rum_abort_tsf_sync(struct rum_softc *sc)
+{
+ uint32_t tmp;
+
+ tmp = rum_read(sc, RT2573_TXRX_CSR9);
+ rum_write(sc, RT2573_TXRX_CSR9, tmp & ~0x00ffffff);
+}
+
+static void
rum_update_slot(struct rum_softc *sc)
{
struct ieee80211com *ic = &sc->sc_ic;
@@ -2217,12 +2224,9 @@ static void
rum_scan_start(struct ieee80211com *ic)
{
struct rum_softc *sc = ic->ic_softc;
- uint32_t tmp;
RUM_LOCK(sc);
- /* abort TSF synchronization */
- tmp = rum_read(sc, RT2573_TXRX_CSR9);
- rum_write(sc, RT2573_TXRX_CSR9, tmp & ~0x00ffffff);
+ rum_abort_tsf_sync(sc);
rum_set_bssid(sc, ieee80211broadcastaddr);
RUM_UNLOCK(sc);
More information about the svn-src-head
mailing list