Re: [net v2 PATCH] net: stmmac: Update CBS parameters when speed changes after linking up

From: xiaolei wang
Date: Wed Jun 05 2024 - 01:31:57 EST



On 6/5/24 13:26, Dan Carpenter wrote:
CAUTION: This email comes from a non Wind River email account!
Do not click links or open attachments unless you recognize the sender and know the content is safe.

Hi Xiaolei,

kernel test robot noticed the following build warnings:

Please drop this patch as there are still some questions on this issue

thanks

xiaolei


url: https://github.com/intel-lab-lkp/linux/commits/Xiaolei-Wang/net-stmmac-Update-CBS-parameters-when-speed-changes-after-linking-up/20240530-141843
base: net/main
patch link: https://lore.kernel.org/r/20240530061453.561708-1-xiaolei.wang%40windriver.com
patch subject: [net v2 PATCH] net: stmmac: Update CBS parameters when speed changes after linking up
config: i386-randconfig-141-20240604 (https://download.01.org/0day-ci/archive/20240605/202406050318.jsyBFsxx-lkp@xxxxxxxxx/config)
compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
| Closes: https://lore.kernel.org/r/202406050318.jsyBFsxx-lkp@xxxxxxxxx/

New smatch warnings:
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:3234 stmmac_configure_cbs() error: uninitialized symbol 'ptr'.
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:3234 stmmac_configure_cbs() error: uninitialized symbol 'speed_div'.

vim +/ptr +3234 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c

19d9187317979c Joao Pinto 2017-03-10 3194 static void stmmac_configure_cbs(struct stmmac_priv *priv)
19d9187317979c Joao Pinto 2017-03-10 3195 {
19d9187317979c Joao Pinto 2017-03-10 3196 u32 tx_queues_count = priv->plat->tx_queues_to_use;
19d9187317979c Joao Pinto 2017-03-10 3197 u32 mode_to_use;
19d9187317979c Joao Pinto 2017-03-10 3198 u32 queue;
882212f550d669 Xiaolei Wang 2024-05-30 3199 u32 ptr, speed_div;
882212f550d669 Xiaolei Wang 2024-05-30 3200 u64 value;
882212f550d669 Xiaolei Wang 2024-05-30 3201
882212f550d669 Xiaolei Wang 2024-05-30 3202 /* Port Transmit Rate and Speed Divider */
882212f550d669 Xiaolei Wang 2024-05-30 3203 switch (priv->speed) {
882212f550d669 Xiaolei Wang 2024-05-30 3204 case SPEED_10000:
882212f550d669 Xiaolei Wang 2024-05-30 3205 ptr = 32;
882212f550d669 Xiaolei Wang 2024-05-30 3206 speed_div = 10000000;
882212f550d669 Xiaolei Wang 2024-05-30 3207 break;
882212f550d669 Xiaolei Wang 2024-05-30 3208 case SPEED_5000:
882212f550d669 Xiaolei Wang 2024-05-30 3209 ptr = 32;
882212f550d669 Xiaolei Wang 2024-05-30 3210 speed_div = 5000000;
882212f550d669 Xiaolei Wang 2024-05-30 3211 break;
882212f550d669 Xiaolei Wang 2024-05-30 3212 case SPEED_2500:
882212f550d669 Xiaolei Wang 2024-05-30 3213 ptr = 8;
882212f550d669 Xiaolei Wang 2024-05-30 3214 speed_div = 2500000;
882212f550d669 Xiaolei Wang 2024-05-30 3215 break;
882212f550d669 Xiaolei Wang 2024-05-30 3216 case SPEED_1000:
882212f550d669 Xiaolei Wang 2024-05-30 3217 ptr = 8;
882212f550d669 Xiaolei Wang 2024-05-30 3218 speed_div = 1000000;
882212f550d669 Xiaolei Wang 2024-05-30 3219 break;
882212f550d669 Xiaolei Wang 2024-05-30 3220 case SPEED_100:
882212f550d669 Xiaolei Wang 2024-05-30 3221 ptr = 4;
882212f550d669 Xiaolei Wang 2024-05-30 3222 speed_div = 100000;
882212f550d669 Xiaolei Wang 2024-05-30 3223 break;
882212f550d669 Xiaolei Wang 2024-05-30 3224 default:
882212f550d669 Xiaolei Wang 2024-05-30 3225 netdev_dbg(priv->dev, "link speed is not known\n");

return;?

882212f550d669 Xiaolei Wang 2024-05-30 3226 }
19d9187317979c Joao Pinto 2017-03-10 3227
44781fef137896 Joao Pinto 2017-03-31 3228 /* queue 0 is reserved for legacy traffic */
44781fef137896 Joao Pinto 2017-03-31 3229 for (queue = 1; queue < tx_queues_count; queue++) {
19d9187317979c Joao Pinto 2017-03-10 3230 mode_to_use = priv->plat->tx_queues_cfg[queue].mode_to_use;
19d9187317979c Joao Pinto 2017-03-10 3231 if (mode_to_use == MTL_QUEUE_DCB)
19d9187317979c Joao Pinto 2017-03-10 3232 continue;
19d9187317979c Joao Pinto 2017-03-10 3233
882212f550d669 Xiaolei Wang 2024-05-30 @3234 value = div_s64(priv->old_idleslope[queue] * 1024ll * ptr, speed_div);
^^^ ^^^^^^^^^^
Uninitialized.

882212f550d669 Xiaolei Wang 2024-05-30 3235 priv->plat->tx_queues_cfg[queue].idle_slope = value & GENMASK(31, 0);
882212f550d669 Xiaolei Wang 2024-05-30 3236
882212f550d669 Xiaolei Wang 2024-05-30 3237 value = div_s64(-priv->old_sendslope[queue] * 1024ll * ptr, speed_div);
882212f550d669 Xiaolei Wang 2024-05-30 3238 priv->plat->tx_queues_cfg[queue].send_slope = value & GENMASK(31, 0);
882212f550d669 Xiaolei Wang 2024-05-30 3239
c10d4c82a5c84c Jose Abreu 2018-04-16 3240 stmmac_config_cbs(priv, priv->hw,
19d9187317979c Joao Pinto 2017-03-10 3241 priv->plat->tx_queues_cfg[queue].send_slope,
19d9187317979c Joao Pinto 2017-03-10 3242 priv->plat->tx_queues_cfg[queue].idle_slope,
19d9187317979c Joao Pinto 2017-03-10 3243 priv->plat->tx_queues_cfg[queue].high_credit,
19d9187317979c Joao Pinto 2017-03-10 3244 priv->plat->tx_queues_cfg[queue].low_credit,
19d9187317979c Joao Pinto 2017-03-10 3245 queue);
19d9187317979c Joao Pinto 2017-03-10 3246 }
19d9187317979c Joao Pinto 2017-03-10 3247 }

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki