wil6210: BACK: track last dropped SSN
authorVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Mon, 16 Jun 2014 16:37:07 +0000 (19:37 +0300)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 19 Jun 2014 19:49:24 +0000 (15:49 -0400)
Track and print on debugfs

Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/wil6210/debugfs.c
drivers/net/wireless/ath/wil6210/rx_reorder.c
drivers/net/wireless/ath/wil6210/wil6210.h

index 9c1102304b938fe1b3b2d4369a5bd8c6adce1842..3c3abb6f30fe881e33b81ae80ec33c29328279bd 100644 (file)
@@ -745,7 +745,7 @@ static void wil_print_rxtid(struct seq_file *s, struct wil_tid_ampdu_rx *r)
                else
                        seq_printf(s, "%c", r->reorder_buf[i] ? '*' : '_');
        }
-       seq_puts(s, "]\n");
+       seq_printf(s, "] last drop 0x%03x\n", r->ssn_last_drop);
 }
 
 static int wil_sta_debugfs_show(struct seq_file *s, void *data)
index 747ae127587763d0bbdd652f674749960cadb1f8..180ca4793904a37d7723198f5652b02e95142430 100644 (file)
@@ -116,6 +116,7 @@ void wil_rx_reorder(struct wil6210_priv *wil, struct sk_buff *skb)
 
        /* frame with out of date sequence number */
        if (seq_less(seq, r->head_seq_num)) {
+               r->ssn_last_drop = seq;
                dev_kfree_skb(skb);
                goto out;
        }
index ede4c9f5f5c2cce065ba12b11c80047dfb128717..4cbb8cec29c6fe4c1b8a3a69865d9b1a9b7148a4 100644 (file)
@@ -304,6 +304,7 @@ struct wil_tid_ampdu_rx {
        u16 ssn;
        u16 buf_size;
        u16 timeout;
+       u16 ssn_last_drop;
        u8 dialog_token;
        bool first_time; /* is it 1-st time this buffer used? */
 };