Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 249312
b: refs/heads/master
c: 3a73050
h: refs/heads/master
v: v3
  • Loading branch information
Arend van Spriel authored and Greg Kroah-Hartman committed May 3, 2011
1 parent e01c599 commit 1cad44c
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 22 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 12392c6d4dff6db1cf10091c2515ac41bfa58c76
refs/heads/master: 3a7305002ccfefb9dc1effd066bc3e0f5a74beb8
4 changes: 2 additions & 2 deletions trunk/drivers/staging/brcm80211/brcmsmac/wlc_ampdu.c
Original file line number Diff line number Diff line change
Expand Up @@ -1133,7 +1133,7 @@ wlc_ampdu_dotxstatus_complete(struct ampdu_info *ampdu, struct scb *scb,

p = GETNEXTTXP(wlc, queue);
}
wlc_send_q(wlc, wlc->active_queue);
wlc_send_q(wlc, wlc->pkt_queue);

/* update rate state */
antselid = wlc_antsel_antsel2id(wlc->asi, mimoantsel);
Expand Down Expand Up @@ -1340,7 +1340,7 @@ static void dma_cb_fn_ampdu(void *txi, void *arg_a)
void wlc_ampdu_flush(struct wlc_info *wlc,
struct ieee80211_sta *sta, u16 tid)
{
struct wlc_txq_info *qi = wlc->active_queue;
struct wlc_txq_info *qi = wlc->pkt_queue;
struct pktq *pq = &qi->q;
int prec;
struct cb_del_ampdu_pars ampdu_pars;
Expand Down
8 changes: 4 additions & 4 deletions trunk/drivers/staging/brcm80211/brcmsmac/wlc_bmac.c
Original file line number Diff line number Diff line change
Expand Up @@ -419,8 +419,8 @@ bool BCMFASTPATH wlc_dpc(struct wlc_info *wlc, bool bounded)
}

/* send any enq'd tx packets. Just makes sure to jump start tx */
if (!pktq_empty(&wlc->active_queue->q))
wlc_send_q(wlc, wlc->active_queue);
if (!pktq_empty(&wlc->pkt_queue->q))
wlc_send_q(wlc, wlc->pkt_queue);

/* it isn't done and needs to be resched if macintstatus is non-zero */
return wlc->macintstatus != 0;
Expand Down Expand Up @@ -3087,8 +3087,8 @@ wlc_bmac_txstatus(struct wlc_hw_info *wlc_hw, bool bound, bool *fatal)
if (n >= max_tx_num)
morepending = true;

if (!pktq_empty(&wlc->active_queue->q))
wlc_send_q(wlc, wlc->active_queue);
if (!pktq_empty(&wlc->pkt_queue->q))
wlc_send_q(wlc, wlc->pkt_queue);

return morepending;
}
Expand Down
22 changes: 10 additions & 12 deletions trunk/drivers/staging/brcm80211/brcmsmac/wlc_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1615,7 +1615,6 @@ void *wlc_attach(struct wl_info *wl, u16 vendor, u16 device, uint unit,
uint err = 0;
uint j;
struct wlc_pub *pub;
struct wlc_txq_info *qi;
uint n_disabled;

/* allocate struct wlc_info state and its substructures */
Expand Down Expand Up @@ -1781,14 +1780,13 @@ void *wlc_attach(struct wl_info *wl, u16 vendor, u16 device, uint unit,
*/

/* allocate our initial queue */
qi = wlc_txq_alloc(wlc);
if (qi == NULL) {
wlc->pkt_queue = wlc_txq_alloc(wlc);
if (wlc->pkt_queue == NULL) {
wiphy_err(wl->wiphy, "wl%d: %s: failed to malloc tx queue\n",
unit, __func__);
err = 100;
goto fail;
}
wlc->active_queue = qi;

wlc->bsscfg[0] = wlc->cfg;
wlc->cfg->_idx = 0;
Expand Down Expand Up @@ -4879,7 +4877,7 @@ void BCMFASTPATH wlc_txq_enq(void *ctx, struct scb *scb, struct sk_buff *sdu,
uint prec)
{
struct wlc_info *wlc = (struct wlc_info *) ctx;
struct wlc_txq_info *qi = wlc->active_queue; /* Check me */
struct wlc_txq_info *qi = wlc->pkt_queue; /* Check me */
struct pktq *q = &qi->q;
int prio;

Expand Down Expand Up @@ -4935,7 +4933,7 @@ wlc_sendpkt_mac80211(struct wlc_info *wlc, struct sk_buff *sdu,
(wlc_d11hdrs_mac80211(wlc, hw, pkt, scb, 0, 1, fifo, 0, NULL, 0)))
return -EINVAL;
wlc_txq_enq(wlc, scb, pkt, WLC_PRIO_TO_PREC(prio));
wlc_send_q(wlc, wlc->active_queue);
wlc_send_q(wlc, wlc->pkt_queue);

wlc->pub->_cnt->ieee_tx++;
return 0;
Expand All @@ -4951,8 +4949,8 @@ void BCMFASTPATH wlc_send_q(struct wlc_info *wlc, struct wlc_txq_info *qi)
struct pktq *q = &qi->q;
struct ieee80211_tx_info *tx_info;

/* only do work for the active queue */
if (qi != wlc->active_queue)
/* only do work for the packet queue */
if (qi != wlc->pkt_queue)
return;

if (in_send_q)
Expand Down Expand Up @@ -6184,8 +6182,8 @@ void wlc_high_dpc(struct wlc_info *wlc, u32 macintstatus)
}

/* send any enq'd tx packets. Just makes sure to jump start tx */
if (!pktq_empty(&wlc->active_queue->q))
wlc_send_q(wlc, wlc->active_queue);
if (!pktq_empty(&wlc->pkt_queue->q))
wlc_send_q(wlc, wlc->pkt_queue);
}

static void wlc_war16165(struct wlc_info *wlc, bool tx)
Expand Down Expand Up @@ -8109,10 +8107,10 @@ void wlc_wait_for_tx_completion(struct wlc_info *wlc, bool drop)
{
/* flush packet queue when requested */
if (drop)
pktq_flush(&wlc->active_queue->q, false, NULL, 0);
pktq_flush(&wlc->pkt_queue->q, false, NULL, 0);

/* wait for queue and DMA fifos to run dry */
while (!pktq_empty(&wlc->active_queue->q) ||
while (!pktq_empty(&wlc->pkt_queue->q) ||
TXPKTPENDTOT(wlc) > 0) {
wl_msleep(wlc->wl, 1);
}
Expand Down
4 changes: 1 addition & 3 deletions trunk/drivers/staging/brcm80211/brcmsmac/wlc_main.h
Original file line number Diff line number Diff line change
Expand Up @@ -743,9 +743,7 @@ struct wlc_info {
u16 next_bsscfg_ID;

struct wlc_if *wlcif_list; /* linked list of wlc_if structs */
struct wlc_txq_info *active_queue; /* txq for the currently active
* transmit context
*/
struct wlc_txq_info *pkt_queue; /* txq for transmit packets */
u32 mpc_dur; /* total time (ms) in mpc mode except for the
* portion since radio is turned off last time
*/
Expand Down

0 comments on commit 1cad44c

Please sign in to comment.