diff options
author | attilio <attilio@FreeBSD.org> | 2011-05-15 15:47:16 +0000 |
---|---|---|
committer | attilio <attilio@FreeBSD.org> | 2011-05-15 15:47:16 +0000 |
commit | d7d74971f13d3dd8b23b648b471dd209deef841f (patch) | |
tree | b8c92b94db6c0893eb3cc61ecd7bb49b265937a8 /sys/dev/iwn/if_iwn.c | |
parent | e0bdfaa331e0646b286138c0a1ebde578634f499 (diff) | |
parent | 18b26669453903e860135019c9ef861b23c4df7b (diff) | |
download | FreeBSD-src-d7d74971f13d3dd8b23b648b471dd209deef841f.zip FreeBSD-src-d7d74971f13d3dd8b23b648b471dd209deef841f.tar.gz |
MFC
Diffstat (limited to 'sys/dev/iwn/if_iwn.c')
-rw-r--r-- | sys/dev/iwn/if_iwn.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/sys/dev/iwn/if_iwn.c b/sys/dev/iwn/if_iwn.c index 11c5238..29e391f 100644 --- a/sys/dev/iwn/if_iwn.c +++ b/sys/dev/iwn/if_iwn.c @@ -3527,7 +3527,8 @@ iwn_tx_data(struct iwn_softc *sc, struct mbuf *m, struct ieee80211_node *ni) BUS_DMASYNC_PREWRITE); /* Update TX scheduler. */ - ops->update_sched(sc, ring->qid, ring->cur, tx->id, totlen); + if (ring->qid >= sc->firstaggqueue) + ops->update_sched(sc, ring->qid, ring->cur, tx->id, totlen); /* Kick TX ring. */ ring->cur = (ring->cur + 1) % IWN_TX_RING_COUNT; @@ -3730,7 +3731,8 @@ iwn_tx_data_raw(struct iwn_softc *sc, struct mbuf *m, BUS_DMASYNC_PREWRITE); /* Update TX scheduler. */ - ops->update_sched(sc, ring->qid, ring->cur, tx->id, totlen); + if (ring->qid >= sc->firstaggqueue) + ops->update_sched(sc, ring->qid, ring->cur, tx->id, totlen); /* Kick TX ring. */ ring->cur = (ring->cur + 1) % IWN_TX_RING_COUNT; @@ -3894,7 +3896,6 @@ iwn_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) static int iwn_cmd(struct iwn_softc *sc, int code, const void *buf, int size, int async) { - struct iwn_ops *ops = &sc->ops; struct iwn_tx_ring *ring = &sc->txq[4]; struct iwn_tx_desc *desc; struct iwn_tx_data *data; @@ -3954,9 +3955,6 @@ iwn_cmd(struct iwn_softc *sc, int code, const void *buf, int size, int async) bus_dmamap_sync(ring->desc_dma.tag, ring->desc_dma.map, BUS_DMASYNC_PREWRITE); - /* Update TX scheduler. */ - ops->update_sched(sc, ring->qid, ring->cur, 0, 0); - /* Kick command ring. */ ring->cur = (ring->cur + 1) % IWN_TX_RING_COUNT; IWN_WRITE(sc, IWN_HBUS_TARG_WRPTR, ring->qid << 8 | ring->cur); |