mirror of https://gitee.com/openkylin/linux.git
ath5k: Print out opmode in debugfs.
Helps debug multi-VIF scenarios. Signed-off-by: Ben Greear <greearb@candelatech.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
5a5c731aa5
commit
92c68a66a8
|
@ -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,
|
||||||
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,
|
||||||
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, ...)
|
||||||
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, ...)
|
||||||
}
|
}
|
||||||
#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 */
|
||||||
|
|
Loading…
Reference in New Issue