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

Commit bb28c28e authored by Marty Faltesek's avatar Marty Faltesek Committed by Kalle Valo
Browse files

mwifiex: bridged packets cause wmm_tx_pending counter to go negative



When a packet is queued from the bridge, wmm_tx_pending is not
incremented, but when the packet is dequeued the counter is decremented.

Signed-off-by: default avatarMarty Faltesek <mfaltesek@google.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent efd7cef3
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -102,6 +102,7 @@ static void mwifiex_uap_queue_bridged_pkt(struct mwifiex_private *priv,
	int hdr_chop;
	struct ethhdr *p_ethhdr;
	struct mwifiex_sta_node *src_node;
	int index;

	uap_rx_pd = (struct uap_rxpd *)(skb->data);
	rx_pkt_hdr = (void *)uap_rx_pd + le16_to_cpu(uap_rx_pd->rx_pkt_offset);
@@ -208,6 +209,9 @@ static void mwifiex_uap_queue_bridged_pkt(struct mwifiex_private *priv,
	}

	__net_timestamp(skb);

	index = mwifiex_1d_to_wmm_queue[skb->priority];
	atomic_inc(&priv->wmm_tx_pending[index]);
	mwifiex_wmm_add_buf_txqueue(priv, skb);
	atomic_inc(&adapter->tx_pending);
	atomic_inc(&adapter->pending_bridged_pkts);