On 11/13/2016 12:12 PM, Julia Lawall wrote: > It looks like the code on lines 1422 and 1424 is the same, so either the > test may be unnecessary, or one of the branches is wrong.
I was trying to show that for a cable length of less than 5 meters I was using a specific sub-command and that for anything longer I was falling back to the 5 meter value. I can see how it doesn't look right and I'll clean it up with a patch. > > Coccinelle is also comparing about a comparison on an unsigned value in > line 1900, but the code for that is not listed in the report below. Ok, good catch. I'll fix this up with a patch also. Thanks, Tom > > julia > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git > master > head: f7ad3d4b83e694347cddc96d956143068bef32c9 > commit: abf0a1c2b26ad964d19b143ce46735e1b0667f29 [664/670] amd-xgbe: Add > support for SFP+ modules > :::::: branch date: 16 minutes ago > :::::: commit date: 12 hours ago > >>> drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c:1421:7-9: WARNING: possible >>> condition with no effect (if == else) > -- >>> drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c:1900:6-9: WARNING: Unsigned >>> expression compared with zero: ret < 0 > > git remote add net-next > https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git > git remote update net-next > git checkout abf0a1c2b26ad964d19b143ce46735e1b0667f29 > vim +1421 drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c > > abf0a1c2 Lendacky, Thomas 2016-11-10 1405 { > abf0a1c2 Lendacky, Thomas 2016-11-10 1406 struct xgbe_phy_data *phy_data > = pdata->phy_data; > abf0a1c2 Lendacky, Thomas 2016-11-10 1407 unsigned int s0; > abf0a1c2 Lendacky, Thomas 2016-11-10 1408 > abf0a1c2 Lendacky, Thomas 2016-11-10 1409 > xgbe_phy_start_ratechange(pdata); > abf0a1c2 Lendacky, Thomas 2016-11-10 1410 > abf0a1c2 Lendacky, Thomas 2016-11-10 1411 /* 10G/SFI */ > abf0a1c2 Lendacky, Thomas 2016-11-10 1412 s0 = 0; > abf0a1c2 Lendacky, Thomas 2016-11-10 1413 XP_SET_BITS(s0, > XP_DRIVER_SCRATCH_0, COMMAND, 3); > abf0a1c2 Lendacky, Thomas 2016-11-10 1414 if (phy_data->sfp_cable != > XGBE_SFP_CABLE_PASSIVE) { > abf0a1c2 Lendacky, Thomas 2016-11-10 1415 XP_SET_BITS(s0, > XP_DRIVER_SCRATCH_0, SUB_COMMAND, 0); > abf0a1c2 Lendacky, Thomas 2016-11-10 1416 } else { > abf0a1c2 Lendacky, Thomas 2016-11-10 1417 if > (phy_data->sfp_cable_len <= 1) > abf0a1c2 Lendacky, Thomas 2016-11-10 1418 XP_SET_BITS(s0, > XP_DRIVER_SCRATCH_0, SUB_COMMAND, 1); > abf0a1c2 Lendacky, Thomas 2016-11-10 1419 else if > (phy_data->sfp_cable_len <= 3) > abf0a1c2 Lendacky, Thomas 2016-11-10 1420 XP_SET_BITS(s0, > XP_DRIVER_SCRATCH_0, SUB_COMMAND, 2); > abf0a1c2 Lendacky, Thomas 2016-11-10 @1421 else if > (phy_data->sfp_cable_len <= 5) > abf0a1c2 Lendacky, Thomas 2016-11-10 1422 XP_SET_BITS(s0, > XP_DRIVER_SCRATCH_0, SUB_COMMAND, 3); > abf0a1c2 Lendacky, Thomas 2016-11-10 1423 else > abf0a1c2 Lendacky, Thomas 2016-11-10 1424 XP_SET_BITS(s0, > XP_DRIVER_SCRATCH_0, SUB_COMMAND, 3); > abf0a1c2 Lendacky, Thomas 2016-11-10 1425 } > abf0a1c2 Lendacky, Thomas 2016-11-10 1426 > abf0a1c2 Lendacky, Thomas 2016-11-10 1427 /* Call FW to make the change */ > abf0a1c2 Lendacky, Thomas 2016-11-10 1428 XP_IOWRITE(pdata, > XP_DRIVER_SCRATCH_0, s0); > abf0a1c2 Lendacky, Thomas 2016-11-10 1429 XP_IOWRITE(pdata, > XP_DRIVER_SCRATCH_1, 0); > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://lists.01.org/pipermail/kbuild-all Intel Corporation >