* [mnyman-xhci:for-usb-next 8/11] drivers/usb/host/xhci-hub.c:606:2: warning: Value stored to 'portsc' is never read [clang-analyzer-deadcode.DeadStores]
@ 2023-02-06 9:11 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-02-06 9:11 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp
::::::
:::::: Manual check reason: "low confidence static check warning: drivers/usb/host/xhci-hub.c:606:2: warning: Value stored to 'portsc' is never read [clang-analyzer-deadcode.DeadStores]"
::::::
BCC: lkp@intel.com
CC: llvm@lists.linux.dev
CC: oe-kbuild-all@lists.linux.dev
TO: Mathias Nyman <mathias.nyman@linux.intel.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git for-usb-next
head: a735337dbb209d81aab4d29015fe9f61140ee3f1
commit: 6469bdaad3f2ed0e0dcb120edc1b2e949fe40bc1 [8/11] xhci: Pass port structure as parameter to xhci_disable_port().
:::::: branch date: 5 days ago
:::::: commit date: 5 days ago
config: riscv-randconfig-c006-20230202 (https://download.01.org/0day-ci/archive/20230206/202302061750.9zmcAVWS-lkp@intel.com/config)
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 4196ca3278f78c6e19246e54ab0ecb364e37d66a)
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-riscv64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git/commit/?id=6469bdaad3f2ed0e0dcb120edc1b2e949fe40bc1
git remote add mnyman-xhci https://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git
git fetch --no-tags mnyman-xhci for-usb-next
git checkout 6469bdaad3f2ed0e0dcb120edc1b2e949fe40bc1
# 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>
clang_analyzer warnings: (new ones prefixed by >>)
^~~~~~~~~~~~
include/asm-generic/bitops/generic-non-atomic.h:128:16: note: Array access (from variable 'addr') results in a null pointer dereference
return 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1)));
^~~~
Suppressed 8 warnings (8 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.
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.
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.
7 warnings generated.
include/asm-generic/bitops/generic-non-atomic.h:128:16: warning: Array access (from variable 'addr') results in a null pointer dereference [clang-analyzer-core.NullDereference]
return 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1)));
^
drivers/input/mousedev.c:351:2: note: Control jumps to 'case 3:' at line 353
switch (type) {
^
drivers/input/mousedev.c:355:7: note: Left side of '&&' is true
if (test_bit(BTN_TRIGGER, handle->dev->keybit))
^
include/linux/bitops.h:61:29: note: expanded from macro 'test_bit'
#define test_bit(nr, addr) bitop(_test_bit, nr, addr)
^
include/linux/bitops.h:49:4: note: expanded from macro 'bitop'
((__builtin_constant_p(nr) && \
^
drivers/input/mousedev.c:355:7: note: Assuming field 'keybit' is equal to 0
if (test_bit(BTN_TRIGGER, handle->dev->keybit))
^
include/linux/bitops.h:61:29: note: expanded from macro 'test_bit'
#define test_bit(nr, addr) bitop(_test_bit, nr, addr)
^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/bitops.h:50:25: note: expanded from macro 'bitop'
__builtin_constant_p((uintptr_t)(addr) != (uintptr_t)NULL) && \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/input/mousedev.c:355:7: note: Left side of '&&' is false
if (test_bit(BTN_TRIGGER, handle->dev->keybit))
^
include/linux/bitops.h:61:29: note: expanded from macro 'test_bit'
#define test_bit(nr, addr) bitop(_test_bit, nr, addr)
^
include/linux/bitops.h:50:63: note: expanded from macro 'bitop'
__builtin_constant_p((uintptr_t)(addr) != (uintptr_t)NULL) && \
^
drivers/input/mousedev.c:355:29: note: Passing null pointer value via 2nd parameter 'addr'
if (test_bit(BTN_TRIGGER, handle->dev->keybit))
^
include/linux/bitops.h:61:50: note: expanded from macro 'test_bit'
#define test_bit(nr, addr) bitop(_test_bit, nr, addr)
^~~~
include/linux/bitops.h:53:32: note: expanded from macro 'bitop'
const##op(nr, addr) : op(nr, addr))
^~~~
drivers/input/mousedev.c:355:7: note: Calling 'generic_test_bit'
if (test_bit(BTN_TRIGGER, handle->dev->keybit))
^
include/linux/bitops.h:61:35: note: expanded from macro 'test_bit'
#define test_bit(nr, addr) bitop(_test_bit, nr, addr)
~~~~~~^~~~~~~~~~~~~~~~~~~~
include/asm-generic/bitops/non-instrumented-non-atomic.h:14:20: note: expanded from macro '_test_bit'
#define _test_bit arch_test_bit
^
include/asm-generic/bitops/non-atomic.h:15:23: note: expanded from macro 'arch_test_bit'
#define arch_test_bit generic_test_bit
^
include/linux/bitops.h:53:25: note: expanded from macro 'bitop'
const##op(nr, addr) : op(nr, addr))
^~~~~~~~~~~~
include/asm-generic/bitops/generic-non-atomic.h:128:16: note: Array access (from variable 'addr') results in a null pointer dereference
return 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1)));
^~~~
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.
34 warnings generated.
drivers/usb/host/xhci-hub.c:71:13: warning: The left operand of '>=' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
if (bcdUSB >= 0x0310) {
~~~~~~ ^
drivers/usb/host/xhci-hub.c:42:2: note: 'bcdUSB' declared without an initial value
u16 bcdUSB;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/host/xhci-hub.c:60:14: note: Assuming 'i' is >= field 'num_port_caps'
for (i = 0; i < xhci->num_port_caps; i++) {
^~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/host/xhci-hub.c:60:2: note: Loop condition is false. Execution continues on line 71
for (i = 0; i < xhci->num_port_caps; i++) {
^
drivers/usb/host/xhci-hub.c:71:13: note: The left operand of '>=' is a garbage value
if (bcdUSB >= 0x0310) {
~~~~~~ ^
drivers/usb/host/xhci-hub.c:497:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = 0;
^ ~
drivers/usb/host/xhci-hub.c:497:2: note: Value stored to 'ret' is never read
ret = 0;
^ ~
>> drivers/usb/host/xhci-hub.c:606:2: warning: Value stored to 'portsc' is never read [clang-analyzer-deadcode.DeadStores]
portsc = readl(port->addr);
^
drivers/usb/host/xhci-hub.c:606:2: note: Value stored to 'portsc' is never read
drivers/usb/host/xhci-hub.c:620:3: warning: Value stored to 'port_change_bit' is never read [clang-analyzer-deadcode.DeadStores]
port_change_bit = "reset";
^ ~~~~~~~
drivers/usb/host/xhci-hub.c:620:3: note: Value stored to 'port_change_bit' is never read
port_change_bit = "reset";
^ ~~~~~~~
drivers/usb/host/xhci-hub.c:624:3: warning: Value stored to 'port_change_bit' is never read [clang-analyzer-deadcode.DeadStores]
port_change_bit = "warm(BH) reset";
^ ~~~~~~~~~~~~~~~~
drivers/usb/host/xhci-hub.c:624:3: note: Value stored to 'port_change_bit' is never read
port_change_bit = "warm(BH) reset";
^ ~~~~~~~~~~~~~~~~
drivers/usb/host/xhci-hub.c:628:3: warning: Value stored to 'port_change_bit' is never read [clang-analyzer-deadcode.DeadStores]
port_change_bit = "connect";
^ ~~~~~~~~~
drivers/usb/host/xhci-hub.c:628:3: note: Value stored to 'port_change_bit' is never read
port_change_bit = "connect";
^ ~~~~~~~~~
drivers/usb/host/xhci-hub.c:632:3: warning: Value stored to 'port_change_bit' is never read [clang-analyzer-deadcode.DeadStores]
port_change_bit = "over-current";
^ ~~~~~~~~~~~~~~
drivers/usb/host/xhci-hub.c:632:3: note: Value stored to 'port_change_bit' is never read
port_change_bit = "over-current";
^ ~~~~~~~~~~~~~~
drivers/usb/host/xhci-hub.c:636:3: warning: Value stored to 'port_change_bit' is never read [clang-analyzer-deadcode.DeadStores]
port_change_bit = "enable/disable";
^ ~~~~~~~~~~~~~~~~
drivers/usb/host/xhci-hub.c:636:3: note: Value stored to 'port_change_bit' is never read
port_change_bit = "enable/disable";
^ ~~~~~~~~~~~~~~~~
drivers/usb/host/xhci-hub.c:640:3: warning: Value stored to 'port_change_bit' is never read [clang-analyzer-deadcode.DeadStores]
port_change_bit = "suspend/resume";
^ ~~~~~~~~~~~~~~~~
drivers/usb/host/xhci-hub.c:640:3: note: Value stored to 'port_change_bit' is never read
port_change_bit = "suspend/resume";
^ ~~~~~~~~~~~~~~~~
drivers/usb/host/xhci-hub.c:644:3: warning: Value stored to 'port_change_bit' is never read [clang-analyzer-deadcode.DeadStores]
port_change_bit = "link state";
^ ~~~~~~~~~~~~
drivers/usb/host/xhci-hub.c:644:3: note: Value stored to 'port_change_bit' is never read
port_change_bit = "link state";
^ ~~~~~~~~~~~~
drivers/usb/host/xhci-hub.c:648:3: warning: Value stored to 'port_change_bit' is never read [clang-analyzer-deadcode.DeadStores]
port_change_bit = "config error";
^ ~~~~~~~~~~~~~~
drivers/usb/host/xhci-hub.c:648:3: note: Value stored to 'port_change_bit' is never read
port_change_bit = "config error";
^ ~~~~~~~~~~~~~~
drivers/usb/host/xhci-hub.c:656:2: warning: Value stored to 'port_status' is never read [clang-analyzer-deadcode.DeadStores]
port_status = readl(addr);
^
drivers/usb/host/xhci-hub.c:656:2: note: Value stored to 'port_status' is never read
drivers/usb/host/xhci-hub.c:1354:4: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
temp = readl(port->addr);
^
drivers/usb/host/xhci-hub.c:1354:4: note: Value stored to 'temp' is never read
drivers/usb/host/xhci-hub.c:1372:5: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
temp = readl(port->addr);
^
drivers/usb/host/xhci-hub.c:1372:5: note: Value stored to 'temp' is never read
drivers/usb/host/xhci-hub.c:1381:5: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
temp = readl(port->addr);
^
drivers/usb/host/xhci-hub.c:1381:5: note: Value stored to 'temp' is never read
drivers/usb/host/xhci-hub.c:1414:5: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
temp = readl(port->addr);
^
drivers/usb/host/xhci-hub.c:1414:5: note: Value stored to 'temp' is never read
drivers/usb/host/xhci-hub.c:1462:5: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
temp = readl(port->addr);
^
drivers/usb/host/xhci-hub.c:1462:5: note: Value stored to 'temp' is never read
drivers/usb/host/xhci-hub.c:1487:5: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
temp = readl(port->addr);
^
drivers/usb/host/xhci-hub.c:1487:5: note: Value stored to 'temp' is never read
drivers/usb/host/xhci-hub.c:1504:4: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
temp = readl(port->addr);
^
drivers/usb/host/xhci-hub.c:1504:4: note: Value stored to 'temp' is never read
drivers/usb/host/xhci-hub.c:1510:4: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
temp = readl(port->addr);
^
drivers/usb/host/xhci-hub.c:1510:4: note: Value stored to 'temp' is never read
drivers/usb/host/xhci-hub.c:1517:4: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
temp = readl(port->addr);
^
drivers/usb/host/xhci-hub.c:1517:4: note: Value stored to 'temp' is never read
drivers/usb/host/xhci-hub.c:1549:3: warning: Value stored to 'temp' is never read [clang-analyzer-deadcode.DeadStores]
temp = readl(port->addr);
^
drivers/usb/host/xhci-hub.c:1549:3: note: Value stored to 'temp' is never read
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.
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.
vim +/portsc +606 drivers/usb/host/xhci-hub.c
be88fe4f4dda93 Andiry Xu 2010-10-14 580
6469bdaad3f2ed Mathias Nyman 2022-12-12 581 static void xhci_disable_port(struct xhci_hcd *xhci, struct xhci_port *port)
6219c047d3fe18 Sarah Sharp 2009-12-09 582 {
6469bdaad3f2ed Mathias Nyman 2022-12-12 583 struct usb_hcd *hcd;
6469bdaad3f2ed Mathias Nyman 2022-12-12 584 u32 portsc;
6469bdaad3f2ed Mathias Nyman 2022-12-12 585
6469bdaad3f2ed Mathias Nyman 2022-12-12 586 hcd = port->rhub->hcd;
6469bdaad3f2ed Mathias Nyman 2022-12-12 587
6dd0a3a7e0793d Sarah Sharp 2010-11-16 588 /* Don't allow the USB core to disable SuperSpeed ports. */
b50107bb83d027 Mathias Nyman 2015-10-01 589 if (hcd->speed >= HCD_USB3) {
6469bdaad3f2ed Mathias Nyman 2022-12-12 590 xhci_dbg(xhci, "Ignoring request to disable SuperSpeed port.\n");
6dd0a3a7e0793d Sarah Sharp 2010-11-16 591 return;
6dd0a3a7e0793d Sarah Sharp 2010-11-16 592 }
6dd0a3a7e0793d Sarah Sharp 2010-11-16 593
41135de1e7fd14 Felipe Balbi 2017-01-23 594 if (xhci->quirks & XHCI_BROKEN_PORT_PED) {
41135de1e7fd14 Felipe Balbi 2017-01-23 595 xhci_dbg(xhci,
41135de1e7fd14 Felipe Balbi 2017-01-23 596 "Broken Port Enabled/Disabled, ignoring port disable request.\n");
41135de1e7fd14 Felipe Balbi 2017-01-23 597 return;
41135de1e7fd14 Felipe Balbi 2017-01-23 598 }
41135de1e7fd14 Felipe Balbi 2017-01-23 599
6469bdaad3f2ed Mathias Nyman 2022-12-12 600 portsc = readl(port->addr);
6469bdaad3f2ed Mathias Nyman 2022-12-12 601 portsc = xhci_port_state_to_neutral(portsc);
6469bdaad3f2ed Mathias Nyman 2022-12-12 602
6219c047d3fe18 Sarah Sharp 2009-12-09 603 /* Write 1 to disable the port */
6469bdaad3f2ed Mathias Nyman 2022-12-12 604 writel(portsc | PORT_PE, port->addr);
6469bdaad3f2ed Mathias Nyman 2022-12-12 605
6469bdaad3f2ed Mathias Nyman 2022-12-12 @606 portsc = readl(port->addr);
d70d5a846671c3 Mathias Nyman 2019-04-26 607 xhci_dbg(xhci, "disable port %d-%d, portsc: 0x%x\n",
6469bdaad3f2ed Mathias Nyman 2022-12-12 608 hcd->self.busnum, port->hcd_portnum + 1, portsc);
6219c047d3fe18 Sarah Sharp 2009-12-09 609 }
6219c047d3fe18 Sarah Sharp 2009-12-09 610
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-02-06 9:11 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-06 9:11 [mnyman-xhci:for-usb-next 8/11] drivers/usb/host/xhci-hub.c:606:2: warning: Value stored to 'portsc' is never read [clang-analyzer-deadcode.DeadStores] kernel test robot
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.