Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7e1e3864 authored by Ben Greear's avatar Ben Greear Committed by John W. Linville
Browse files

ath9k: Improve debugfs printout for stations.



Add interface address so it can be mapped to a local
interface.  Add max-ampdu and mpdu-density.

Print out the tid->baw_size

Signed-off-by: default avatarBen Greear <greearb@candelatech.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 7b7eab6f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -253,6 +253,7 @@ struct ath_node {
#ifdef CONFIG_ATH9K_DEBUGFS
	struct list_head list; /* for sc->nodes */
	struct ieee80211_sta *sta; /* station struct we're part of */
	struct ieee80211_vif *vif; /* interface with which we're associated */
#endif
	struct ath_atx_tid tid[WME_NUM_TID];
	struct ath_atx_ac ac[WME_NUM_AC];
+9 −4
Original line number Diff line number Diff line
@@ -708,24 +708,29 @@ static ssize_t read_file_stations(struct file *file, char __user *user_buf,

	len += snprintf(buf + len, size - len,
			"Stations:\n"
			" tid: addr sched paused buf_q-empty an ac\n"
			" tid: addr sched paused buf_q-empty an ac baw\n"
			" ac: addr sched tid_q-empty txq\n");

	spin_lock(&sc->nodes_lock);
	list_for_each_entry(an, &sc->nodes, list) {
		unsigned short ma = an->maxampdu;
		if (ma == 0)
			ma = 65535; /* see ath_lookup_rate */
		len += snprintf(buf + len, size - len,
				"%pM\n", an->sta->addr);
				"iface: %pM  sta: %pM max-ampdu: %hu mpdu-density: %uus\n",
				an->vif->addr, an->sta->addr, ma,
				(unsigned int)(an->mpdudensity));
		if (len >= size)
			goto done;

		for (q = 0; q < WME_NUM_TID; q++) {
			struct ath_atx_tid *tid = &(an->tid[q]);
			len += snprintf(buf + len, size - len,
					" tid: %p %s %s %i %p %p\n",
					" tid: %p %s %s %i %p %p %hu\n",
					tid, tid->sched ? "sched" : "idle",
					tid->paused ? "paused" : "running",
					skb_queue_empty(&tid->buf_q),
					tid->an, tid->ac);
					tid->an, tid->ac, tid->baw_size);
			if (len >= size)
				goto done;
		}
+4 −2
Original line number Diff line number Diff line
@@ -630,7 +630,8 @@ set_timer:
	}
}

static void ath_node_attach(struct ath_softc *sc, struct ieee80211_sta *sta)
static void ath_node_attach(struct ath_softc *sc, struct ieee80211_sta *sta,
			    struct ieee80211_vif *vif)
{
	struct ath_node *an;
	an = (struct ath_node *)sta->drv_priv;
@@ -640,6 +641,7 @@ static void ath_node_attach(struct ath_softc *sc, struct ieee80211_sta *sta)
	list_add(&an->list, &sc->nodes);
	spin_unlock(&sc->nodes_lock);
	an->sta = sta;
	an->vif = vif;
#endif
	if (sc->sc_flags & SC_OP_TXAGGR) {
		ath_tx_node_init(sc, an);
@@ -1800,7 +1802,7 @@ static int ath9k_sta_add(struct ieee80211_hw *hw,
	struct ath_node *an = (struct ath_node *) sta->drv_priv;
	struct ieee80211_key_conf ps_key = { };

	ath_node_attach(sc, sta);
	ath_node_attach(sc, sta, vif);

	if (vif->type != NL80211_IFTYPE_AP &&
	    vif->type != NL80211_IFTYPE_AP_VLAN)