]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net: airoha: fix BQL imbalance in TX path
authorLorenzo Bianconi <lorenzo@kernel.org>
Tue, 21 Apr 2026 06:35:11 +0000 (08:35 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 28 Apr 2026 00:32:59 +0000 (17:32 -0700)
commit2d9f5a118205da2683ffcec78b9347f1f01a820e
treea48b9e832848ee9549ccc17c2e7c0340ecaa9089
parent5bd6252b9df1030b31095f9f5d34f92a0ea5db78
net: airoha: fix BQL imbalance in TX path

Fix a possible BQL imbalance in airoha_dev_xmit(), where inflight
packets are accounted only for the AIROHA_NUM_TX_RING netdev TX
queues. The queue index is computed as:

    qid = skb_get_queue_mapping(skb) % ARRAY_SIZE(qdma->q_tx)
    txq = netdev_get_tx_queue(dev, qid);

However, airoha_qdma_tx_napi_poll() accounts completions across all
netdev TX queues (num_tx_queues), leading to inconsistent BQL
accounting.

Also reset all netdev TX queues in the ndo_stop callback.

Fixes: 1d304174106c ("net: airoha: Implement BQL support")
Fixes: c9f947769b77 ("net: airoha: Reset BQL stopping the netdevice")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://patch.msgid.link/20260421-airoha-fix-bql-v1-1-f135afe4275b@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/airoha/airoha_eth.c