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

Commit 6093e66b authored by Vladimir Kondratiev's avatar Vladimir Kondratiev Committed by Kalle Valo
Browse files

wil6210: count drops in Rx block ack reorder



When performing Rx reordering, count skb's dropped
per reorder buffer; and print dropped packets count
on the "stations" debugfs entry

Signed-off-by: default avatarVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent f1ad8c93
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1353,7 +1353,7 @@ static void wil_print_rxtid(struct seq_file *s, struct wil_tid_ampdu_rx *r)
		else
			seq_printf(s, "%c", r->reorder_buf[i] ? '*' : '_');
	}
	seq_printf(s, "] last drop 0x%03x\n", r->ssn_last_drop);
	seq_printf(s, "] drop %llu last 0x%03x\n", r->drop, r->ssn_last_drop);
}

static int wil_sta_debugfs_show(struct seq_file *s, void *data)
+2 −0
Original line number Diff line number Diff line
@@ -153,6 +153,7 @@ __acquires(&sta->tid_rx_lock) __releases(&sta->tid_rx_lock)
	/* frame with out of date sequence number */
	if (seq_less(seq, r->head_seq_num)) {
		r->ssn_last_drop = seq;
		r->drop++;
		dev_kfree_skb(skb);
		goto out;
	}
@@ -173,6 +174,7 @@ __acquires(&sta->tid_rx_lock) __releases(&sta->tid_rx_lock)

	/* check if we already stored this frame */
	if (r->reorder_buf[index]) {
		r->drop++;
		dev_kfree_skb(skb);
		goto out;
	}
+2 −0
Original line number Diff line number Diff line
@@ -426,6 +426,7 @@ struct pci_dev;
 * @timeout: reset timer value (in TUs).
 * @dialog_token: dialog token for aggregation session
 * @rcu_head: RCU head used for freeing this struct
 * @drop: total frames dropped for this reorder buffer
 *
 * This structure's lifetime is managed by RCU, assignments to
 * the array holding it must hold the aggregation mutex.
@@ -443,6 +444,7 @@ struct wil_tid_ampdu_rx {
	u16 buf_size;
	u16 timeout;
	u16 ssn_last_drop;
	unsigned long long drop;
	u8 dialog_token;
	bool first_time; /* is it 1-st time this buffer used? */
};