From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com
Subject: drivers/net/phy/microchip.c:367:3: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
Date: Sat, 18 Mar 2023 10:29:54 +0800 [thread overview]
Message-ID: <202303181037.cdGQyc8a-lkp@intel.com> (raw)
::::::
:::::: Manual check reason: "low confidence static check warning: drivers/net/phy/microchip.c:367:3: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]"
::::::
BCC: lkp@intel.com
CC: llvm@lists.linux.dev
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Yuiko Oshino <yuiko.oshino@microchip.com>
CC: Jakub Kicinski <kuba@kernel.org>
CC: Andrew Lunn <andrew@lunn.ch>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 478a351ce0d69cef2d2bf2a686a09b356b63a66c
commit: e57cf3639c323eeed05d3725fd82f91b349adca8 net: lan78xx: fix accessing the LAN7800's internal phy specific registers from the MAC driver
date: 2 weeks ago
:::::: branch date: 6 hours ago
:::::: commit date: 2 weeks ago
config: riscv-randconfig-c006-20230310 (https://download.01.org/0day-ci/archive/20230318/202303181037.cdGQyc8a-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 67409911353323ca5edf2049ef0df54132fa1ca7)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e57cf3639c323eeed05d3725fd82f91b349adca8
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout e57cf3639c323eeed05d3725fd82f91b349adca8
# save the config file
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/r/202303181037.cdGQyc8a-lkp@intel.com/
clang_analyzer warnings: (new ones prefixed by >>)
^
include/asm-generic/bitops/fls.h:17:2: note: Taking false branch
if (!x)
^
include/asm-generic/bitops/fls.h:19:6: note: Assuming the condition is false
if (!(x & 0xffff0000u)) {
^~~~~~~~~~~~~~~~~~
include/asm-generic/bitops/fls.h:19:2: note: Taking false branch
if (!(x & 0xffff0000u)) {
^
include/asm-generic/bitops/fls.h:23:6: note: Assuming the condition is false
if (!(x & 0xff000000u)) {
^~~~~~~~~~~~~~~~~~
include/asm-generic/bitops/fls.h:23:2: note: Taking false branch
if (!(x & 0xff000000u)) {
^
include/asm-generic/bitops/fls.h:27:6: note: Assuming the condition is false
if (!(x & 0xf0000000u)) {
^~~~~~~~~~~~~~~~~~
include/asm-generic/bitops/fls.h:27:2: note: Taking false branch
if (!(x & 0xf0000000u)) {
^
include/asm-generic/bitops/fls.h:31:6: note: Assuming the condition is false
if (!(x & 0xc0000000u)) {
^~~~~~~~~~~~~~~~~~
include/asm-generic/bitops/fls.h:31:2: note: Taking false branch
if (!(x & 0xc0000000u)) {
^
include/asm-generic/bitops/fls.h:35:6: note: Assuming the condition is false
if (!(x & 0x80000000u)) {
^~~~~~~~~~~~~~~~~~
include/asm-generic/bitops/fls.h:35:2: note: Taking false branch
if (!(x & 0x80000000u)) {
^
include/asm-generic/bitops/fls.h:39:2: note: Returning the value 32 (loaded from 'r')
return r;
^~~~~~~~
include/linux/bitops.h:206:10: note: Returning from 'fls'
return fls(l);
^~~~~~
include/linux/bitops.h:206:3: note: Returning the value 32
return fls(l);
^~~~~~~~~~~~~
include/linux/log2.h:57:16: note: Returning from 'fls_long'
return 1UL << fls_long(n - 1);
^~~~~~~~~~~~~~~
include/linux/log2.h:57:13: note: The result of the left shift is undefined due to shifting by '32', which is greater or equal to the width of type 'unsigned long'
return 1UL << fls_long(n - 1);
^ ~~~~~~~~~~~~~~~
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
16 warnings generated.
drivers/scsi/scsi_transport_iscsi.c:3348:3: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]
err = transport->get_chap(shost, ev->u.get_chap.chap_tbl_idx,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/scsi/scsi_transport_iscsi.c:3348:3: note: Value stored to 'err' is never read
err = transport->get_chap(shost, ev->u.get_chap.chap_tbl_idx,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 15 warnings (15 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
7 warnings generated.
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
12 warnings generated.
Suppressed 12 warnings (12 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
12 warnings generated.
Suppressed 12 warnings (12 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
12 warnings generated.
Suppressed 12 warnings (12 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
6 warnings generated.
Suppressed 6 warnings (6 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
drivers/net/phy/microchip.c:40:3: warning: Value stored to 'rc' is never read [clang-analyzer-deadcode.DeadStores]
rc = phy_write(phydev, LAN88XX_INT_MASK, 0x7FFF);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/phy/microchip.c:40:3: note: Value stored to 'rc' is never read
rc = phy_write(phydev, LAN88XX_INT_MASK, 0x7FFF);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/phy/microchip.c:41:3: warning: Value stored to 'rc' is never read [clang-analyzer-deadcode.DeadStores]
rc = phy_read(phydev, LAN88XX_INT_STS);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/phy/microchip.c:41:3: note: Value stored to 'rc' is never read
rc = phy_read(phydev, LAN88XX_INT_STS);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/phy/microchip.c:367:3: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
temp = phy_read(phydev, LAN88XX_INT_STS);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/phy/microchip.c:367:3: note: Value stored to 'temp' is never read
temp = phy_read(phydev, LAN88XX_INT_STS);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 7 warnings (7 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
12 warnings generated.
Suppressed 12 warnings (12 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
15 warnings generated.
drivers/net/phy/mscc/mscc_main.c:344:2: warning: Value stored to 'reg_val' is never read [clang-analyzer-deadcode.DeadStores]
reg_val = phy_read(phydev, MII_VSC85XX_INT_STATUS);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/phy/mscc/mscc_main.c:344:2: note: Value stored to 'reg_val' is never read
reg_val = phy_read(phydev, MII_VSC85XX_INT_STATUS);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/phy/mscc/mscc_main.c:461:9: warning: 3rd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
ret = vsc85xx_dt_led_mode_get(phydev, led_dt_prop,
^
drivers/net/phy/mscc/mscc_main.c:2303:6: note: Assuming 'rate_magic' is >= 0
if (rate_magic < 0)
^~~~~~~~~~~~~~
drivers/net/phy/mscc/mscc_main.c:2303:2: note: Taking false branch
if (rate_magic < 0)
^
drivers/net/phy/mscc/mscc_main.c:2307:6: note: Assuming 'vsc8531' is non-null
if (!vsc8531)
^~~~~~~~
drivers/net/phy/mscc/mscc_main.c:2307:2: note: Taking false branch
if (!vsc8531)
^
drivers/net/phy/mscc/mscc_main.c:2319:6: note: Assuming field 'stats' is non-null
if (!vsc8531->stats)
^~~~~~~~~~~~~~~
drivers/net/phy/mscc/mscc_main.c:2319:2: note: Taking false branch
if (!vsc8531->stats)
^
drivers/net/phy/mscc/mscc_main.c:2322:9: note: Calling 'vsc85xx_dt_led_modes_get'
return vsc85xx_dt_led_modes_get(phydev, default_mode);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/phy/mscc/mscc_main.c:456:14: note: Assuming 'i' is < field 'nleds'
for (i = 0; i < priv->nleds; i++) {
^~~~~~~~~~~~~~~
drivers/net/phy/mscc/mscc_main.c:456:2: note: Loop condition is true. Entering loop body
for (i = 0; i < priv->nleds; i++) {
^
drivers/net/phy/mscc/mscc_main.c:458:7: note: Assuming 'ret' is >= 0
if (ret < 0)
^~~~~~~
drivers/net/phy/mscc/mscc_main.c:458:3: note: Taking false branch
if (ret < 0)
^
drivers/net/phy/mscc/mscc_main.c:463:7: note: Assuming 'ret' is >= 0
if (ret < 0)
^~~~~~~
drivers/net/phy/mscc/mscc_main.c:463:3: note: Taking false branch
if (ret < 0)
^
drivers/net/phy/mscc/mscc_main.c:456:14: note: Assuming 'i' is < field 'nleds'
for (i = 0; i < priv->nleds; i++) {
^~~~~~~~~~~~~~~
drivers/net/phy/mscc/mscc_main.c:456:2: note: Loop condition is true. Entering loop body
for (i = 0; i < priv->nleds; i++) {
^
drivers/net/phy/mscc/mscc_main.c:458:7: note: Assuming 'ret' is >= 0
if (ret < 0)
^~~~~~~
drivers/net/phy/mscc/mscc_main.c:458:3: note: Taking false branch
if (ret < 0)
^
drivers/net/phy/mscc/mscc_main.c:463:7: note: Assuming 'ret' is >= 0
if (ret < 0)
^~~~~~~
drivers/net/phy/mscc/mscc_main.c:463:3: note: Taking false branch
if (ret < 0)
^
drivers/net/phy/mscc/mscc_main.c:456:31: note: The value 2 is assigned to 'i'
for (i = 0; i < priv->nleds; i++) {
^~~
drivers/net/phy/mscc/mscc_main.c:456:14: note: Assuming 'i' is < field 'nleds'
for (i = 0; i < priv->nleds; i++) {
^~~~~~~~~~~~~~~
drivers/net/phy/mscc/mscc_main.c:456:2: note: Loop condition is true. Entering loop body
for (i = 0; i < priv->nleds; i++) {
^
drivers/net/phy/mscc/mscc_main.c:458:7: note: Assuming 'ret' is >= 0
if (ret < 0)
^~~~~~~
drivers/net/phy/mscc/mscc_main.c:458:3: note: Taking false branch
if (ret < 0)
^
drivers/net/phy/mscc/mscc_main.c:461:9: note: 3rd function call argument is an uninitialized value
ret = vsc85xx_dt_led_mode_get(phydev, led_dt_prop,
^
drivers/net/phy/mscc/mscc_main.c:1944:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = phy_base_write(phydev, MSCC_INT_MEM_CNTL, val);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/phy/mscc/mscc_main.c:1944:2: note: Value stored to 'ret' is never read
ret = phy_base_write(phydev, MSCC_INT_MEM_CNTL, val);
vim +/temp +367 drivers/net/phy/microchip.c
f6e3ef3e4d3546 Woojung Huh 2016-11-17 344
e57cf3639c323e Yuiko Oshino 2023-03-01 345 static void lan88xx_link_change_notify(struct phy_device *phydev)
e57cf3639c323e Yuiko Oshino 2023-03-01 346 {
e57cf3639c323e Yuiko Oshino 2023-03-01 347 int temp;
e57cf3639c323e Yuiko Oshino 2023-03-01 348
e57cf3639c323e Yuiko Oshino 2023-03-01 349 /* At forced 100 F/H mode, chip may fail to set mode correctly
e57cf3639c323e Yuiko Oshino 2023-03-01 350 * when cable is switched between long(~50+m) and short one.
e57cf3639c323e Yuiko Oshino 2023-03-01 351 * As workaround, set to 10 before setting to 100
e57cf3639c323e Yuiko Oshino 2023-03-01 352 * at forced 100 F/H mode.
e57cf3639c323e Yuiko Oshino 2023-03-01 353 */
e57cf3639c323e Yuiko Oshino 2023-03-01 354 if (!phydev->autoneg && phydev->speed == 100) {
e57cf3639c323e Yuiko Oshino 2023-03-01 355 /* disable phy interrupt */
e57cf3639c323e Yuiko Oshino 2023-03-01 356 temp = phy_read(phydev, LAN88XX_INT_MASK);
e57cf3639c323e Yuiko Oshino 2023-03-01 357 temp &= ~LAN88XX_INT_MASK_MDINTPIN_EN_;
e57cf3639c323e Yuiko Oshino 2023-03-01 358 phy_write(phydev, LAN88XX_INT_MASK, temp);
e57cf3639c323e Yuiko Oshino 2023-03-01 359
e57cf3639c323e Yuiko Oshino 2023-03-01 360 temp = phy_read(phydev, MII_BMCR);
e57cf3639c323e Yuiko Oshino 2023-03-01 361 temp &= ~(BMCR_SPEED100 | BMCR_SPEED1000);
e57cf3639c323e Yuiko Oshino 2023-03-01 362 phy_write(phydev, MII_BMCR, temp); /* set to 10 first */
e57cf3639c323e Yuiko Oshino 2023-03-01 363 temp |= BMCR_SPEED100;
e57cf3639c323e Yuiko Oshino 2023-03-01 364 phy_write(phydev, MII_BMCR, temp); /* set to 100 later */
e57cf3639c323e Yuiko Oshino 2023-03-01 365
e57cf3639c323e Yuiko Oshino 2023-03-01 366 /* clear pending interrupt generated while workaround */
e57cf3639c323e Yuiko Oshino 2023-03-01 @367 temp = phy_read(phydev, LAN88XX_INT_STS);
e57cf3639c323e Yuiko Oshino 2023-03-01 368
e57cf3639c323e Yuiko Oshino 2023-03-01 369 /* enable phy interrupt back */
e57cf3639c323e Yuiko Oshino 2023-03-01 370 temp = phy_read(phydev, LAN88XX_INT_MASK);
e57cf3639c323e Yuiko Oshino 2023-03-01 371 temp |= LAN88XX_INT_MASK_MDINTPIN_EN_;
e57cf3639c323e Yuiko Oshino 2023-03-01 372 phy_write(phydev, LAN88XX_INT_MASK, temp);
e57cf3639c323e Yuiko Oshino 2023-03-01 373 }
e57cf3639c323e Yuiko Oshino 2023-03-01 374 }
e57cf3639c323e Yuiko Oshino 2023-03-01 375
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
reply other threads:[~2023-03-18 2:30 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202303181037.cdGQyc8a-lkp@intel.com \
--to=lkp@intel.com \
--cc=oe-kbuild@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.