Commit 92c68a66 authored by Ben Greear's avatar Ben Greear Committed by John W. Linville

ath5k: Print out opmode in debugfs.

Helps debug multi-VIF scenarios.
Signed-off-by: default avatarBen Greear <greearb@candelatech.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 5a5c731a
...@@ -60,6 +60,7 @@ ...@@ -60,6 +60,7 @@
#include "base.h" #include "base.h"
#include "debug.h" #include "debug.h"
#include "../debug.h"
static unsigned int ath5k_debug; static unsigned int ath5k_debug;
module_param_named(debug, ath5k_debug, uint, 0); module_param_named(debug, ath5k_debug, uint, 0);
...@@ -492,6 +493,7 @@ static ssize_t read_file_misc(struct file *file, char __user *user_buf, ...@@ -492,6 +493,7 @@ static ssize_t read_file_misc(struct file *file, char __user *user_buf,
char buf[700]; char buf[700];
unsigned int len = 0; unsigned int len = 0;
u32 filt = ath5k_hw_get_rx_filter(sc->ah); u32 filt = ath5k_hw_get_rx_filter(sc->ah);
const char *tmp;
len += snprintf(buf+len, sizeof(buf)-len, "bssid-mask: %pM\n", len += snprintf(buf+len, sizeof(buf)-len, "bssid-mask: %pM\n",
sc->bssidmask); sc->bssidmask);
...@@ -524,6 +526,14 @@ static ssize_t read_file_misc(struct file *file, char __user *user_buf, ...@@ -524,6 +526,14 @@ static ssize_t read_file_misc(struct file *file, char __user *user_buf,
else else
len += snprintf(buf+len, sizeof(buf)-len, "\n"); len += snprintf(buf+len, sizeof(buf)-len, "\n");
tmp = ath_opmode_to_string(sc->opmode);
if (tmp)
len += snprintf(buf+len, sizeof(buf)-len, "opmode: %s\n",
tmp);
else
len += snprintf(buf+len, sizeof(buf)-len,
"opmode: UNKNOWN-%i\n", sc->opmode);
if (len > sizeof(buf)) if (len > sizeof(buf))
len = sizeof(buf); len = sizeof(buf);
......
...@@ -30,3 +30,32 @@ void ath_print(struct ath_common *common, int dbg_mask, const char *fmt, ...) ...@@ -30,3 +30,32 @@ void ath_print(struct ath_common *common, int dbg_mask, const char *fmt, ...)
va_end(args); va_end(args);
} }
EXPORT_SYMBOL(ath_print); EXPORT_SYMBOL(ath_print);
const char *ath_opmode_to_string(enum nl80211_iftype opmode)
{
switch (opmode) {
case NL80211_IFTYPE_UNSPECIFIED:
return "UNSPEC";
case NL80211_IFTYPE_ADHOC:
return "ADHOC";
case NL80211_IFTYPE_STATION:
return "STATION";
case NL80211_IFTYPE_AP:
return "AP";
case NL80211_IFTYPE_AP_VLAN:
return "AP-VLAN";
case NL80211_IFTYPE_WDS:
return "WDS";
case NL80211_IFTYPE_MONITOR:
return "MONITOR";
case NL80211_IFTYPE_MESH_POINT:
return "MESH";
case NL80211_IFTYPE_P2P_CLIENT:
return "P2P-CLIENT";
case NL80211_IFTYPE_P2P_GO:
return "P2P-GO";
default:
return NULL;
}
}
EXPORT_SYMBOL(ath_opmode_to_string);
...@@ -77,4 +77,7 @@ ath_print(struct ath_common *common, int dbg_mask, const char *fmt, ...) ...@@ -77,4 +77,7 @@ ath_print(struct ath_common *common, int dbg_mask, const char *fmt, ...)
} }
#endif /* CONFIG_ATH_DEBUG */ #endif /* CONFIG_ATH_DEBUG */
/** Returns string describing opmode, or NULL if unknown mode. */
const char *ath_opmode_to_string(enum nl80211_iftype opmode);
#endif /* ATH_DEBUG_H */ #endif /* ATH_DEBUG_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment