]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: stmmac: Fix zero-division error when disabling tc cbs
authorKhaiWenTan <khai.wen.tan@linux.intel.com>
Wed, 18 Sep 2024 06:14:22 +0000 (14:14 +0800)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 24 Sep 2024 09:23:33 +0000 (11:23 +0200)
The commit b8c43360f6e4 ("net: stmmac: No need to calculate speed divider
when offload is disabled") allows the "port_transmit_rate_kbps" to be
set to a value of 0, which is then passed to the "div_s64" function when
tc-cbs is disabled. This leads to a zero-division error.

When tc-cbs is disabled, the idleslope, sendslope, and credit values the
credit values are not required to be configured. Therefore, adding a return
statement after setting the txQ mode to DCB when tc-cbs is disabled would
prevent a zero-division error.

Fixes: b8c43360f6e4 ("net: stmmac: No need to calculate speed divider when offload is disabled")
Cc: <stable@vger.kernel.org>
Co-developed-by: Choong Yong Liang <yong.liang.choong@linux.intel.com>
Signed-off-by: Choong Yong Liang <yong.liang.choong@linux.intel.com>
Signed-off-by: KhaiWenTan <khai.wen.tan@linux.intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20240918061422.1589662-1-khai.wen.tan@linux.intel.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c

index 832998bc020bd8a89c4bd6cccd2148641ddd9c45..75ad2da1a37f1ae0922192e2b0943977b2600078 100644 (file)
@@ -386,6 +386,7 @@ static int tc_setup_cbs(struct stmmac_priv *priv,
                        return ret;
 
                priv->plat->tx_queues_cfg[queue].mode_to_use = MTL_QUEUE_DCB;
+               return 0;
        }
 
        /* Final adjustments for HW */