From d496df1b3ed138b18fb90502e1231cdd7b82483c Mon Sep 17 00:00:00 2001 From: Andreas Fenkart Date: Thu, 4 Apr 2013 20:03:52 -0700 Subject: [PATCH] --- yaml --- r: 369163 b: refs/heads/master c: 333f6b22c5b88a9d856703b440257f46efa714c8 h: refs/heads/master i: 369161: 2ac3e96a8a474ddd312ac7cf0aefdc3d8c5715ab 369159: 09c42ed1bd7baecefd4b53d7a5beed25e4e99df2 v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/mwifiex/main.h | 1 - trunk/drivers/net/wireless/mwifiex/wmm.c | 13 ++++++------- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 3d8f804ac100..ac945c5fa82f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6d2344ec6043a2de8cfa9d8f27909a99ca967a08 +refs/heads/master: 333f6b22c5b88a9d856703b440257f46efa714c8 diff --git a/trunk/drivers/net/wireless/mwifiex/main.h b/trunk/drivers/net/wireless/mwifiex/main.h index 622b17f884f0..b7484efc9443 100644 --- a/trunk/drivers/net/wireless/mwifiex/main.h +++ b/trunk/drivers/net/wireless/mwifiex/main.h @@ -219,7 +219,6 @@ struct mwifiex_tid_tbl { #define WMM_HIGHEST_PRIORITY 7 #define HIGH_PRIO_TID 7 #define LOW_PRIO_TID 0 -#define NO_PKT_PRIO_TID (-1) struct mwifiex_wmm_desc { struct mwifiex_tid_tbl tid_tbl_ptr[MAX_NUM_TID]; diff --git a/trunk/drivers/net/wireless/mwifiex/wmm.c b/trunk/drivers/net/wireless/mwifiex/wmm.c index c1d848882fe2..75c8e80bb62f 100644 --- a/trunk/drivers/net/wireless/mwifiex/wmm.c +++ b/trunk/drivers/net/wireless/mwifiex/wmm.c @@ -916,8 +916,12 @@ mwifiex_wmm_get_highest_priolist_ptr(struct mwifiex_adapter *adapter, do { priv_tmp = bssprio_node->priv; - hqp = &priv_tmp->wmm.highest_queued_prio; + if (atomic_read(&priv_tmp->wmm.tx_pkts_queued) == 0) + goto skip_bss; + + /* iterate over the WMM queues of the BSS */ + hqp = &priv_tmp->wmm.highest_queued_prio; for (i = atomic_read(hqp); i >= LOW_PRIO_TID; --i) { tid_ptr = &(priv_tmp)->wmm. @@ -976,12 +980,7 @@ mwifiex_wmm_get_highest_priolist_ptr(struct mwifiex_adapter *adapter, } while (ptr != head); } - /* No packet at any TID for this priv. Mark as such - * to skip checking TIDs for this priv (until pkt is - * added). - */ - atomic_set(hqp, NO_PKT_PRIO_TID); - +skip_bss: /* Get next bss priority node */ bssprio_node = list_first_entry(&bssprio_node->list, struct mwifiex_bss_prio_node,