From: Kevin Fang <chienf@qca.qualcomm.com>
To: <kvalo@qca.qualcomm.com>
Cc: <linux-wireless@vger.kernel.org>, <ath6kl-devel@qualcomm.com>
Subject: [PATCH 1/2] ath6kl: handle background(BK) stream properly on htc mbox layer
Date: Fri, 27 Apr 2012 09:18:01 +0800 [thread overview]
Message-ID: <1335489482-15565-1-git-send-email-kevin.fang@qca.qualcomm.com> (raw)
Bug description:
STA sends huge BK QoS data frame first, then sends BE/VI/VO QoS data frame.
The corresponding throughput becomes much lower than
that without sends BK QoS data frame before.
The root cause is that when station send BK stream,
the tx credits of BK stream don't return back to
higher priority QoS stream such as BE, VI, and VO stream.
This patch will handle BK stream properly,
when there is higher priority QoS stream,
it will seek tx credits from BK stream properly.
Signed-off-by: Kevin Fang <kevin.fang@qca.qualcomm.com>
---
drivers/net/wireless/ath/ath6kl/htc_mbox.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/net/wireless/ath/ath6kl/htc_mbox.c b/drivers/net/wireless/ath/ath6kl/htc_mbox.c
index 065e615..3e65d36 100644
--- a/drivers/net/wireless/ath/ath6kl/htc_mbox.c
+++ b/drivers/net/wireless/ath/ath6kl/htc_mbox.c
@@ -83,10 +83,7 @@ static void ath6kl_credit_init(struct ath6kl_htc_credit_info *cred_info,
* never goes inactive EVER.
*/
cur_ep_dist->dist_flags |= HTC_EP_ACTIVE;
- } else if (cur_ep_dist->svc_id == WMI_DATA_BK_SVC)
- /* this is the lowest priority data endpoint */
- /* FIXME: this looks fishy, check */
- cred_info->lowestpri_ep_dist = cur_ep_dist->list;
+ }
/*
* Streams have to be created (explicit | implicit) for all
@@ -100,6 +97,13 @@ static void ath6kl_credit_init(struct ath6kl_htc_credit_info *cred_info,
*/
}
+ /*
+ * For ath6kl_credit_seek function,
+ * it use list_for_each_entry_reverse to walk around the whole ep list.
+ * Therefore assign this lowestpri_ep_dist after walk around the ep_list
+ */
+ cred_info->lowestpri_ep_dist = cur_ep_dist->list;
+
WARN_ON(cred_info->cur_free_credits <= 0);
list_for_each_entry(cur_ep_dist, ep_list, list) {
--
1.7.0.4
next reply other threads:[~2012-04-27 1:18 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-27 1:18 Kevin Fang [this message]
2012-04-27 1:18 ` [PATCH 2/2] ath6kl: assign Tx packet drop threshold per endpoint on htc pipe layer Kevin Fang
2012-04-27 7:00 ` [PATCH 1/2] ath6kl: handle background(BK) stream properly on htc mbox layer Kalle Valo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1335489482-15565-1-git-send-email-kevin.fang@qca.qualcomm.com \
--to=chienf@qca.qualcomm.com \
--cc=ath6kl-devel@qualcomm.com \
--cc=kvalo@qca.qualcomm.com \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).