mac80211: add missing station flags to debugfs
authorJohannes Berg <johannes.berg@intel.com>
Thu, 29 Sep 2011 14:04:37 +0000 (16:04 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 30 Sep 2011 19:57:20 +0000 (15:57 -0400)
My work and some previous work didn't add
all the flags, add them now and while at it
simplify the code.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/debugfs_sta.c

index 56bb68b..c5f3417 100644 (file)
@@ -56,19 +56,22 @@ STA_FILE(last_signal, last_signal, D);
 static ssize_t sta_flags_read(struct file *file, char __user *userbuf,
                              size_t count, loff_t *ppos)
 {
-       char buf[100];
+       char buf[121];
        struct sta_info *sta = file->private_data;
 
-       int res = scnprintf(buf, sizeof(buf), "%s%s%s%s%s%s%s%s%s",
-               test_sta_flag(sta, WLAN_STA_AUTH) ? "AUTH\n" : "",
-               test_sta_flag(sta, WLAN_STA_ASSOC) ? "ASSOC\n" : "",
-               test_sta_flag(sta, WLAN_STA_PS_STA) ? "PS (sta)\n" : "",
-               test_sta_flag(sta, WLAN_STA_PS_DRIVER) ? "PS (driver)\n" : "",
-               test_sta_flag(sta, WLAN_STA_AUTHORIZED) ? "AUTHORIZED\n" : "",
-               test_sta_flag(sta, WLAN_STA_SHORT_PREAMBLE) ? "SHORT PREAMBLE\n" : "",
-               test_sta_flag(sta, WLAN_STA_WME) ? "WME\n" : "",
-               test_sta_flag(sta, WLAN_STA_WDS) ? "WDS\n" : "",
-               test_sta_flag(sta, WLAN_STA_MFP) ? "MFP\n" : "");
+#define TEST(flg) \
+       test_sta_flag(sta, WLAN_STA_##flg) ? #flg "\n" : ""
+
+       int res = scnprintf(buf, sizeof(buf),
+                           "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
+                           TEST(AUTH), TEST(ASSOC), TEST(PS_STA),
+                           TEST(PS_DRIVER), TEST(AUTHORIZED),
+                           TEST(SHORT_PREAMBLE), TEST(ASSOC_AP),
+                           TEST(WME), TEST(WDS), TEST(CLEAR_PS_FILT),
+                           TEST(MFP), TEST(BLOCK_BA), TEST(PSPOLL),
+                           TEST(UAPSD), TEST(SP), TEST(TDLS_PEER),
+                           TEST(TDLS_PEER_AUTH));
+#undef TEST
        return simple_read_from_buffer(userbuf, count, ppos, buf, res);
 }
 STA_OPS(flags);