Message ID | 20250331-airoha-htb-qdisc-offload-del-fix-v1-1-4ea429c2c968@kernel.org (mailing list archive) |
---|---|
State | New |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] net: airoha: Fix qid report in airoha_tc_get_htb_get_leaf_queue() | expand |
On 3/31/25 8:52 AM, Lorenzo Bianconi wrote: > Fix the following kernel warning deleting HTB offloaded leafs and/or root > HTB qdisc in airoha_eth driver properly reporting qid in > airoha_tc_get_htb_get_leaf_queue routine. > > $tc qdisc replace dev eth1 root handle 10: htb offload > $tc class add dev eth1 arent 10: classid 10:4 htb rate 100mbit ceil 100mbit > $tc qdisc replace dev eth1 parent 10:4 handle 4: ets bands 8 \ > quanta 1514 3028 4542 6056 7570 9084 10598 12112 > $tc qdisc del dev eth1 root > > [ 55.827864] ------------[ cut here ]------------ > [ 55.832493] WARNING: CPU: 3 PID: 2678 at 0xffffffc0798695a4 > [ 55.956510] CPU: 3 PID: 2678 Comm: tc Tainted: G O 6.6.71 #0 > [ 55.963557] Hardware name: Airoha AN7581 Evaluation Board (DT) > [ 55.969383] pstate: 20400005 (nzCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) > [ 55.976344] pc : 0xffffffc0798695a4 > [ 55.979851] lr : 0xffffffc079869a20 > [ 55.983358] sp : ffffffc0850536a0 > [ 55.986665] x29: ffffffc0850536a0 x28: 0000000000000024 x27: 0000000000000001 > [ 55.993800] x26: 0000000000000000 x25: ffffff8008b19000 x24: ffffff800222e800 > [ 56.000935] x23: 0000000000000001 x22: 0000000000000000 x21: ffffff8008b19000 > [ 56.008071] x20: ffffff8002225800 x19: ffffff800379d000 x18: 0000000000000000 > [ 56.015206] x17: ffffffbf9ea59000 x16: ffffffc080018000 x15: 0000000000000000 > [ 56.022342] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000001 > [ 56.029478] x11: ffffffc081471008 x10: ffffffc081575a98 x9 : 0000000000000000 > [ 56.036614] x8 : ffffffc08167fd40 x7 : ffffffc08069e104 x6 : ffffff8007f86000 > [ 56.043748] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000001 > [ 56.050884] x2 : 0000000000000000 x1 : 0000000000000250 x0 : ffffff800222c000 > [ 56.058020] Call trace: > [ 56.060459] 0xffffffc0798695a4 > [ 56.063618] 0xffffffc079869a20 > [ 56.066777] __qdisc_destroy+0x40/0xa0 > [ 56.070528] qdisc_put+0x54/0x6c > [ 56.073748] qdisc_graft+0x41c/0x648 > [ 56.077324] tc_get_qdisc+0x168/0x2f8 > [ 56.080978] rtnetlink_rcv_msg+0x230/0x330 > [ 56.085076] netlink_rcv_skb+0x5c/0x128 > [ 56.088913] rtnetlink_rcv+0x14/0x1c > [ 56.092490] netlink_unicast+0x1e0/0x2c8 > [ 56.096413] netlink_sendmsg+0x198/0x3c8 > [ 56.100337] ____sys_sendmsg+0x1c4/0x274 > [ 56.104261] ___sys_sendmsg+0x7c/0xc0 > [ 56.107924] __sys_sendmsg+0x44/0x98 > [ 56.111492] __arm64_sys_sendmsg+0x20/0x28 > [ 56.115580] invoke_syscall.constprop.0+0x58/0xfc > [ 56.120285] do_el0_svc+0x3c/0xbc > [ 56.123592] el0_svc+0x18/0x4c > [ 56.126647] el0t_64_sync_handler+0x118/0x124 > [ 56.131005] el0t_64_sync+0x150/0x154 > [ 56.134660] ---[ end trace 0000000000000000 ]--- > > Fixes: ef1ca9271313b ("net: airoha: Add sched HTB offload support") > Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Acked-by: Paolo Abeni <pabeni@redhat.com>
diff --git a/drivers/net/ethernet/airoha/airoha_eth.c b/drivers/net/ethernet/airoha/airoha_eth.c index c0a642568ac115ea9df6fbaf7133627a4405a36c..20a96cafc748e97a8ff9ab33a5be71ab62e8c9c5 100644 --- a/drivers/net/ethernet/airoha/airoha_eth.c +++ b/drivers/net/ethernet/airoha/airoha_eth.c @@ -2358,7 +2358,7 @@ static int airoha_tc_get_htb_get_leaf_queue(struct airoha_gdm_port *port, return -EINVAL; } - opt->qid = channel; + opt->qid = AIROHA_NUM_TX_RING + channel; return 0; }
Fix the following kernel warning deleting HTB offloaded leafs and/or root HTB qdisc in airoha_eth driver properly reporting qid in airoha_tc_get_htb_get_leaf_queue routine. $tc qdisc replace dev eth1 root handle 10: htb offload $tc class add dev eth1 arent 10: classid 10:4 htb rate 100mbit ceil 100mbit $tc qdisc replace dev eth1 parent 10:4 handle 4: ets bands 8 \ quanta 1514 3028 4542 6056 7570 9084 10598 12112 $tc qdisc del dev eth1 root [ 55.827864] ------------[ cut here ]------------ [ 55.832493] WARNING: CPU: 3 PID: 2678 at 0xffffffc0798695a4 [ 55.956510] CPU: 3 PID: 2678 Comm: tc Tainted: G O 6.6.71 #0 [ 55.963557] Hardware name: Airoha AN7581 Evaluation Board (DT) [ 55.969383] pstate: 20400005 (nzCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 55.976344] pc : 0xffffffc0798695a4 [ 55.979851] lr : 0xffffffc079869a20 [ 55.983358] sp : ffffffc0850536a0 [ 55.986665] x29: ffffffc0850536a0 x28: 0000000000000024 x27: 0000000000000001 [ 55.993800] x26: 0000000000000000 x25: ffffff8008b19000 x24: ffffff800222e800 [ 56.000935] x23: 0000000000000001 x22: 0000000000000000 x21: ffffff8008b19000 [ 56.008071] x20: ffffff8002225800 x19: ffffff800379d000 x18: 0000000000000000 [ 56.015206] x17: ffffffbf9ea59000 x16: ffffffc080018000 x15: 0000000000000000 [ 56.022342] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000001 [ 56.029478] x11: ffffffc081471008 x10: ffffffc081575a98 x9 : 0000000000000000 [ 56.036614] x8 : ffffffc08167fd40 x7 : ffffffc08069e104 x6 : ffffff8007f86000 [ 56.043748] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000001 [ 56.050884] x2 : 0000000000000000 x1 : 0000000000000250 x0 : ffffff800222c000 [ 56.058020] Call trace: [ 56.060459] 0xffffffc0798695a4 [ 56.063618] 0xffffffc079869a20 [ 56.066777] __qdisc_destroy+0x40/0xa0 [ 56.070528] qdisc_put+0x54/0x6c [ 56.073748] qdisc_graft+0x41c/0x648 [ 56.077324] tc_get_qdisc+0x168/0x2f8 [ 56.080978] rtnetlink_rcv_msg+0x230/0x330 [ 56.085076] netlink_rcv_skb+0x5c/0x128 [ 56.088913] rtnetlink_rcv+0x14/0x1c [ 56.092490] netlink_unicast+0x1e0/0x2c8 [ 56.096413] netlink_sendmsg+0x198/0x3c8 [ 56.100337] ____sys_sendmsg+0x1c4/0x274 [ 56.104261] ___sys_sendmsg+0x7c/0xc0 [ 56.107924] __sys_sendmsg+0x44/0x98 [ 56.111492] __arm64_sys_sendmsg+0x20/0x28 [ 56.115580] invoke_syscall.constprop.0+0x58/0xfc [ 56.120285] do_el0_svc+0x3c/0xbc [ 56.123592] el0_svc+0x18/0x4c [ 56.126647] el0t_64_sync_handler+0x118/0x124 [ 56.131005] el0t_64_sync+0x150/0x154 [ 56.134660] ---[ end trace 0000000000000000 ]--- Fixes: ef1ca9271313b ("net: airoha: Add sched HTB offload support") Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> --- drivers/net/ethernet/airoha/airoha_eth.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- base-commit: 2ea396448f26d0d7d66224cb56500a6789c7ed07 change-id: 20250331-airoha-htb-qdisc-offload-del-fix-77e48279b337 Best regards,