[PATCH net-next] net: airoha: Fix channel configuration for ETS Qdisc
Michal Swiatkowski
michal.swiatkowski at linux.intel.com
Tue Jan 7 23:52:46 PST 2025
On Tue, Jan 07, 2025 at 11:26:28PM +0100, Lorenzo Bianconi wrote:
> 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: 20bf7d07c956 ("net: airoha: Add sched ETS offload support")
> Signed-off-by: Lorenzo Bianconi <lorenzo at kernel.org>
> ---
> drivers/net/ethernet/mediatek/airoha_eth.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/mediatek/airoha_eth.c b/drivers/net/ethernet/mediatek/airoha_eth.c
> index b9f1c42f0a40ca268506b4595dfa1902a15be26c..a30c417d66f2f9b0958fe1dd3829fb9ac530a34c 100644
> --- a/drivers/net/ethernet/mediatek/airoha_eth.c
> +++ b/drivers/net/ethernet/mediatek/airoha_eth.c
> @@ -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);
>
> ---
> base-commit: a1942da8a38717ddd9b4c132f59e1657c85c1432
> change-id: 20250107-airoha-ets-fix-chan-e35ccac76d64
>
> Best regards,
> --
> Lorenzo Bianconi <lorenzo at kernel.org>
Reviewed-by: Michal Swiatkowski <michal.swiatkowski at linux.intel.com>
More information about the Linux-mediatek
mailing list