summaryrefslogtreecommitdiff
path: root/drivers/staging/cw1200/debug.c
diff options
context:
space:
mode:
authorDmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>2011-10-06 19:05:02 +0200
committerPhilippe LANGLAIS <philippe.langlais@stericsson.com>2011-10-13 10:23:49 +0200
commit847817a7ac38983d030d87d4c1b38e379a26fe8e (patch)
treeaf0b449b8359ed45a234a377c0a81bde69a36653 /drivers/staging/cw1200/debug.c
parent5a3348f06558026c5c842112b83674e00903064c (diff)
cw1200: Accurate reporting of TX status.
* Accurate reporting of TX status is implemented (needed for UAPSD and PSPOLL). * Leaking of TX rate policies is fixed. * skb destructor is implemented. * Time to live for queued frames is implemented. * cw1200_tx is split by separate TX handlers (like in mac80211). * cw1200_skb_to_wsm is not existing anymore. * BT coex: null frames are prioritized as management frames. * Debug: added printing of rate policies in use. ST-Ericsson ID: 354950 ST-Ericsson ID: 360749 Change-Id: I920d398418df99c21b37a16ef16591e58a82151d Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33542 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
Diffstat (limited to 'drivers/staging/cw1200/debug.c')
-rw-r--r--drivers/staging/cw1200/debug.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/staging/cw1200/debug.c b/drivers/staging/cw1200/debug.c
index db927620f26..91c690ad4e6 100644
--- a/drivers/staging/cw1200/debug.c
+++ b/drivers/staging/cw1200/debug.c
@@ -101,6 +101,7 @@ static void cw1200_debug_print_map(struct seq_file *seq,
static int cw1200_status_show(struct seq_file *seq, void *v)
{
int i;
+ struct list_head *item;
struct cw1200_common *priv = seq->private;
struct cw1200_debug_priv *d = priv->debug;
seq_puts(seq, "CW1200 Wireless LAN driver status\n");
@@ -208,6 +209,12 @@ static int cw1200_status_show(struct seq_file *seq, void *v)
priv->long_frame_max_tx_count);
seq_printf(seq, "Short retr: %d\n",
priv->short_frame_max_tx_count);
+ spin_lock_bh(&priv->tx_policy_cache.lock);
+ i = 0;
+ list_for_each(item, &priv->tx_policy_cache.used)
+ ++i;
+ spin_unlock_bh(&priv->tx_policy_cache.lock);
+ seq_printf(seq, "RC in use: %d\n", i);
seq_puts(seq, "\n");
for (i = 0; i < 4; ++i) {
@@ -283,6 +290,8 @@ static int cw1200_status_show(struct seq_file *seq, void *v)
d->tx_cache_miss);
seq_printf(seq, "TX copy: %d\n",
d->tx_copy);
+ seq_printf(seq, "TX TTL: %d\n",
+ d->tx_ttl);
seq_printf(seq, "Scan: %s\n",
atomic_read(&priv->scan.in_progress) ? "active" : "idle");
seq_printf(seq, "Led state: 0x%.2X\n",