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

Commit 71e025a5 authored by Ben Greear's avatar Ben Greear Committed by John W. Linville
Browse files

ath9k: More xmit queue debugfs information.



To try to figure out why xmit logic hangs.

Signed-off-by: default avatarBen Greear <greearb@candelatech.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 7f010c93
Loading
Loading
Loading
Loading
+26 −0
Original line number Original line Diff line number Diff line
@@ -679,6 +679,32 @@ static ssize_t read_file_xmit(struct file *file, char __user *user_buf,
		PRQLE(tmp, txq_fifo[i]);
		PRQLE(tmp, txq_fifo[i]);
	}
	}


	/* Print out more detailed queue-info */
	for (i = 0; i <= WME_AC_BK; i++) {
		struct ath_txq *txq = &(sc->tx.txq[i]);
		struct ath_atx_ac *ac;
		struct ath_atx_tid *tid;
		if (len >= size)
			goto done;
		spin_lock_bh(&txq->axq_lock);
		if (!list_empty(&txq->axq_acq)) {
			ac = list_first_entry(&txq->axq_acq, struct ath_atx_ac,
					      list);
			len += snprintf(buf + len, size - len,
					"txq[%i] first-ac: %p sched: %i\n",
					i, ac, ac->sched);
			if (list_empty(&ac->tid_q) || (len >= size))
				goto done_for;
			tid = list_first_entry(&ac->tid_q, struct ath_atx_tid,
					       list);
			len += snprintf(buf + len, size - len,
					" first-tid: %p sched: %i paused: %i\n",
					tid, tid->sched, tid->paused);
		}
	done_for:
		spin_unlock_bh(&txq->axq_lock);
	}

done:
done:
	if (len > size)
	if (len > size)
		len = size;
		len = size;