mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 18:43:33 +02:00
net: airoha: Fix channel configuration for ETS Qdisc
Limit ETS QoS channel to AIROHA_NUM_QOS_CHANNELS in
airoha_tc_setup_qdisc_ets() in order to align the configured channel to
the value set in airoha_dev_select_queue().
Fixes: 20bf7d07c9 ("net: airoha: Add sched ETS offload support")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Link: https://patch.msgid.link/20250107-airoha-ets-fix-chan-v1-1-97f66ed3a068@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
10bc9761d1
commit
7d0da8f862
|
|
@ -2840,11 +2840,14 @@ static int airoha_qdma_get_tx_ets_stats(struct airoha_gdm_port *port,
|
|||
static int airoha_tc_setup_qdisc_ets(struct airoha_gdm_port *port,
|
||||
struct tc_ets_qopt_offload *opt)
|
||||
{
|
||||
int channel = TC_H_MAJ(opt->handle) >> 16;
|
||||
int channel;
|
||||
|
||||
if (opt->parent == TC_H_ROOT)
|
||||
return -EINVAL;
|
||||
|
||||
channel = TC_H_MAJ(opt->handle) >> 16;
|
||||
channel = channel % AIROHA_NUM_QOS_CHANNELS;
|
||||
|
||||
switch (opt->command) {
|
||||
case TC_ETS_REPLACE:
|
||||
return airoha_qdma_set_tx_ets_sched(port, channel, opt);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user