ath9k: add debugfs support for dynack
authorLorenzo Bianconi <lorenzo.bianconi83@gmail.com>
Tue, 16 Sep 2014 00:13:14 +0000 (02:13 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 16 Sep 2014 20:18:40 +0000 (16:18 -0400)
Add ack_to entry to debugfs in order to dump current ACK timeout value

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/debug.c

index 5d8b5ea515b30a64248c49df6118fa1fe017c49b..46f20a309b5f53c10e6d487c999d560de4f5f6e3 100644 (file)
@@ -1169,6 +1169,29 @@ static const struct file_operations fops_btcoex = {
 };
 #endif
 
+#ifdef CONFIG_ATH9K_DYNACK
+static ssize_t read_file_ackto(struct file *file, char __user *user_buf,
+                              size_t count, loff_t *ppos)
+{
+       struct ath_softc *sc = file->private_data;
+       struct ath_hw *ah = sc->sc_ah;
+       char buf[32];
+       unsigned int len;
+
+       len = sprintf(buf, "%u %c\n", ah->dynack.ackto,
+                     (ah->dynack.enabled) ? 'A' : 'S');
+
+       return simple_read_from_buffer(user_buf, count, ppos, buf, len);
+}
+
+static const struct file_operations fops_ackto = {
+       .read = read_file_ackto,
+       .open = simple_open,
+       .owner = THIS_MODULE,
+       .llseek = default_llseek,
+};
+#endif
+
 /* Ethtool support for get-stats */
 
 #define AMKSTR(nm) #nm "_BE", #nm "_BK", #nm "_VI", #nm "_VO"
@@ -1374,5 +1397,10 @@ int ath9k_init_debug(struct ath_hw *ah)
                            &fops_btcoex);
 #endif
 
+#ifdef CONFIG_ATH9K_DYNACK
+       debugfs_create_file("ack_to", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy,
+                           sc, &fops_ackto);
+#endif
+
        return 0;
 }