Helps debug multi-VIF scenarios.
Signed-off-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
 
 #include "base.h"
 #include "debug.h"
+#include "../debug.h"
 
 static unsigned int ath5k_debug;
 module_param_named(debug, ath5k_debug, uint, 0);
        char buf[700];
        unsigned int len = 0;
        u32 filt = ath5k_hw_get_rx_filter(sc->ah);
+       const char *tmp;
 
        len += snprintf(buf+len, sizeof(buf)-len, "bssid-mask: %pM\n",
                        sc->bssidmask);
        else
                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))
                len = sizeof(buf);
 
 
        va_end(args);
 }
 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);
 
 }
 #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 */