All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:126:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
@ 2021-12-01 22:23 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-12-01 22:23 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 21202 bytes --]

CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Qing Zhang <zhangqing@loongson.cn>
CC: Jiaxun Yang <jiaxun.yang@flygoat.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   58e1100fdc5990b0cc0d4beaf2562a92e621ac7d
commit: 30bba69d7db40e732d6c0aa6d4890c60d717e314 stmmac: pci: Add dwmac support for Loongson
date:   6 months ago
:::::: branch date: 25 hours ago
:::::: commit date: 6 months ago
config: i386-randconfig-c001-20211130 (https://download.01.org/0day-ci/archive/20211202/202112020618.8Bxdky7v-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 25eb7fa01d7ebbe67648ea03841cda55b4239ab2)
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
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=30bba69d7db40e732d6c0aa6d4890c60d717e314
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 30bba69d7db40e732d6c0aa6d4890c60d717e314
        # save the config file to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=i386 clang-analyzer 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
                              ^~~~~~   ~~~~~~~~~~~
   drivers/media/dvb-frontends/af9033.c:873:21: warning: Value stored to 'client' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct i2c_client *client = dev->client;
                              ^~~~~~   ~~~~~~~~~~~
   drivers/media/dvb-frontends/af9033.c:873:21: note: Value stored to 'client' during its initialization is never read
           struct i2c_client *client = dev->client;
                              ^~~~~~   ~~~~~~~~~~~
   drivers/media/dvb-frontends/af9033.c:949:21: warning: Value stored to 'client' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct i2c_client *client = dev->client;
                              ^~~~~~   ~~~~~~~~~~~
   drivers/media/dvb-frontends/af9033.c:949:21: note: Value stored to 'client' during its initialization is never read
           struct i2c_client *client = dev->client;
                              ^~~~~~   ~~~~~~~~~~~
   drivers/media/dvb-frontends/af9033.c:967:21: warning: Value stored to 'client' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct i2c_client *client = dev->client;
                              ^~~~~~   ~~~~~~~~~~~
   drivers/media/dvb-frontends/af9033.c:967:21: note: Value stored to 'client' during its initialization is never read
           struct i2c_client *client = dev->client;
                              ^~~~~~   ~~~~~~~~~~~
   drivers/media/dvb-frontends/af9033.c:986:21: warning: Value stored to 'client' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct i2c_client *client = dev->client;
                              ^~~~~~   ~~~~~~~~~~~
   drivers/media/dvb-frontends/af9033.c:986:21: note: Value stored to 'client' during its initialization is never read
           struct i2c_client *client = dev->client;
                              ^~~~~~   ~~~~~~~~~~~
   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.
   15 warnings generated.
   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.
   15 warnings generated.
   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.
   13 warnings generated.
   Suppressed 13 warnings (13 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.
   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.
   15 warnings generated.
   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.
   15 warnings generated.
   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.
   19 warnings generated.
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:76:6: warning: Branch condition evaluates to a garbage value [clang-analyzer-core.uninitialized.Branch]
           if (mdio) {
               ^~~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:52:14: note: 'mdio' declared without an initial value
           int ret, i, mdio;
                       ^~~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:55:7: note: Calling 'dev_of_node'
           np = dev_of_node(&pdev->dev);
                ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/device.h:769:6: note: Left side of '||' is false
           if (!IS_ENABLED(CONFIG_OF) || !dev)
               ^
   include/linux/device.h:769:32: note: Assuming 'dev' is non-null, which participates in a condition later
           if (!IS_ENABLED(CONFIG_OF) || !dev)
                                         ^~~~
   include/linux/device.h:769:2: note: Taking false branch
           if (!IS_ENABLED(CONFIG_OF) || !dev)
           ^
   include/linux/device.h:771:2: note: Returning without writing to 'dev->of_node', which participates in a condition later
           return dev->of_node;
           ^
   include/linux/device.h:771:2: note: Returning pointer, which participates in a condition later
           return dev->of_node;
           ^~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:55:7: note: Returning from 'dev_of_node'
           np = dev_of_node(&pdev->dev);
                ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:57:6: note: Assuming 'np' is non-null
           if (!np) {
               ^~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:57:2: note: Taking false branch
           if (!np) {
           ^
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:62:6: note: Assuming the condition is false
           if (!of_device_is_compatible(np, "loongson, pci-gmac")) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:62:2: note: Taking false branch
           if (!of_device_is_compatible(np, "loongson, pci-gmac")) {
           ^
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:68:6: note: Assuming 'plat' is non-null
           if (!plat)
               ^~~~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:68:2: note: Taking false branch
           if (!plat)
           ^
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:71:6: note: Assuming field 'mdio_node' is null
           if (plat->mdio_node) {
               ^~~~~~~~~~~~~~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:71:2: note: Taking false branch
           if (plat->mdio_node) {
           ^
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:76:6: note: Branch condition evaluates to a garbage value
           if (mdio) {
               ^~~~
>> drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:126:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
                   ret = -ENODEV;
                   ^     ~~~~~~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:126:3: note: Value stored to 'ret' is never read
                   ret = -ENODEV;
                   ^     ~~~~~~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:138:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
                   ret = -ENODEV;
                   ^     ~~~~~~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:138:3: note: Value stored to 'ret' is never read
                   ret = -ENODEV;
                   ^     ~~~~~~~
   Suppressed 16 warnings (15 in non-user code, 1 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   8 warnings generated.
   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.
   8 warnings generated.
   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.
   9 warnings generated.
   drivers/hwmon/pmbus/zl6100.c:115:41: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
           return (mantissa & 0x7ff) | ((exponent << 11) & 0xf800);
                                                  ^
   drivers/hwmon/pmbus/zl6100.c:230:29: note: Left side of '&&' is false
           struct zl6100_data *data = to_zl6100_data(info);
                                      ^
   drivers/hwmon/pmbus/zl6100.c:30:28: note: expanded from macro 'to_zl6100_data'
   #define to_zl6100_data(x)  container_of(x, struct zl6100_data, info)
                              ^
   include/linux/kernel.h:716:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   drivers/hwmon/pmbus/zl6100.c:230:29: note: Taking false branch
           struct zl6100_data *data = to_zl6100_data(info);
                                      ^
   drivers/hwmon/pmbus/zl6100.c:30:28: note: expanded from macro 'to_zl6100_data'
   #define to_zl6100_data(x)  container_of(x, struct zl6100_data, info)
                              ^
   include/linux/kernel.h:716:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:328:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:316:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:308:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/hwmon/pmbus/zl6100.c:230:29: note: Loop condition is false.  Exiting loop
           struct zl6100_data *data = to_zl6100_data(info);
                                      ^
   drivers/hwmon/pmbus/zl6100.c:30:28: note: expanded from macro 'to_zl6100_data'
   #define to_zl6100_data(x)  container_of(x, struct zl6100_data, info)
                              ^
   include/linux/kernel.h:716:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:328:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:316:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   drivers/hwmon/pmbus/zl6100.c:233:6: note: Assuming 'page' is <= 0
           if (page > 0)
               ^~~~~~~~
   drivers/hwmon/pmbus/zl6100.c:233:2: note: Taking false branch
           if (page > 0)
           ^
   drivers/hwmon/pmbus/zl6100.c:236:2: note: Control jumps to 'case PMBUS_VIRT_VMON_UV_WARN_LIMIT:'  at line 246
           switch (reg) {
           ^
   drivers/hwmon/pmbus/zl6100.c:247:21: note: Left side of '||' is false
                   word = zl6100_d2l(DIV_ROUND_CLOSEST(zl6100_l2d(word) * 10, 11));
                                     ^
   include/linux/math.h:89:3: note: expanded from macro 'DIV_ROUND_CLOSEST'
           (((typeof(x))-1) > 0 ||                         \
            ^
   drivers/hwmon/pmbus/zl6100.c:247:21: note: Left side of '||' is false
                   word = zl6100_d2l(DIV_ROUND_CLOSEST(zl6100_l2d(word) * 10, 11));
                                     ^
   include/linux/math.h:89:3: note: expanded from macro 'DIV_ROUND_CLOSEST'
           (((typeof(x))-1) > 0 ||                         \
            ^
   drivers/hwmon/pmbus/zl6100.c:247:21: note: Assuming '__x' is <= 0
                   word = zl6100_d2l(DIV_ROUND_CLOSEST(zl6100_l2d(word) * 10, 11));
                                     ^
   include/linux/math.h:91:5: note: expanded from macro 'DIV_ROUND_CLOSEST'
            (((__x) > 0) == ((__d) > 0))) ?                \

vim +/ret +126 drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c

30bba69d7db40e7 Qing Zhang 2021-06-18   47  
30bba69d7db40e7 Qing Zhang 2021-06-18   48  static int loongson_dwmac_probe(struct pci_dev *pdev, const struct pci_device_id *id)
30bba69d7db40e7 Qing Zhang 2021-06-18   49  {
30bba69d7db40e7 Qing Zhang 2021-06-18   50  	struct plat_stmmacenet_data *plat;
30bba69d7db40e7 Qing Zhang 2021-06-18   51  	struct stmmac_resources res;
30bba69d7db40e7 Qing Zhang 2021-06-18   52  	int ret, i, mdio;
30bba69d7db40e7 Qing Zhang 2021-06-18   53  	struct device_node *np;
30bba69d7db40e7 Qing Zhang 2021-06-18   54  
30bba69d7db40e7 Qing Zhang 2021-06-18   55  	np = dev_of_node(&pdev->dev);
30bba69d7db40e7 Qing Zhang 2021-06-18   56  
30bba69d7db40e7 Qing Zhang 2021-06-18   57  	if (!np) {
30bba69d7db40e7 Qing Zhang 2021-06-18   58  		pr_info("dwmac_loongson_pci: No OF node\n");
30bba69d7db40e7 Qing Zhang 2021-06-18   59  		return -ENODEV;
30bba69d7db40e7 Qing Zhang 2021-06-18   60  	}
30bba69d7db40e7 Qing Zhang 2021-06-18   61  
30bba69d7db40e7 Qing Zhang 2021-06-18   62  	if (!of_device_is_compatible(np, "loongson, pci-gmac")) {
30bba69d7db40e7 Qing Zhang 2021-06-18   63  		pr_info("dwmac_loongson_pci: Incompatible OF node\n");
30bba69d7db40e7 Qing Zhang 2021-06-18   64  		return -ENODEV;
30bba69d7db40e7 Qing Zhang 2021-06-18   65  	}
30bba69d7db40e7 Qing Zhang 2021-06-18   66  
30bba69d7db40e7 Qing Zhang 2021-06-18   67  	plat = devm_kzalloc(&pdev->dev, sizeof(*plat), GFP_KERNEL);
30bba69d7db40e7 Qing Zhang 2021-06-18   68  	if (!plat)
30bba69d7db40e7 Qing Zhang 2021-06-18   69  		return -ENOMEM;
30bba69d7db40e7 Qing Zhang 2021-06-18   70  
30bba69d7db40e7 Qing Zhang 2021-06-18   71  	if (plat->mdio_node) {
30bba69d7db40e7 Qing Zhang 2021-06-18   72  		dev_err(&pdev->dev, "Found MDIO subnode\n");
30bba69d7db40e7 Qing Zhang 2021-06-18   73  		mdio = true;
30bba69d7db40e7 Qing Zhang 2021-06-18   74  	}
30bba69d7db40e7 Qing Zhang 2021-06-18   75  
30bba69d7db40e7 Qing Zhang 2021-06-18   76  	if (mdio) {
30bba69d7db40e7 Qing Zhang 2021-06-18   77  		plat->mdio_bus_data = devm_kzalloc(&pdev->dev,
30bba69d7db40e7 Qing Zhang 2021-06-18   78  						   sizeof(*plat->mdio_bus_data),
30bba69d7db40e7 Qing Zhang 2021-06-18   79  						   GFP_KERNEL);
30bba69d7db40e7 Qing Zhang 2021-06-18   80  		if (!plat->mdio_bus_data)
30bba69d7db40e7 Qing Zhang 2021-06-18   81  			return -ENOMEM;
30bba69d7db40e7 Qing Zhang 2021-06-18   82  		plat->mdio_bus_data->needs_reset = true;
30bba69d7db40e7 Qing Zhang 2021-06-18   83  	}
30bba69d7db40e7 Qing Zhang 2021-06-18   84  
30bba69d7db40e7 Qing Zhang 2021-06-18   85  	plat->dma_cfg = devm_kzalloc(&pdev->dev, sizeof(*plat->dma_cfg), GFP_KERNEL);
30bba69d7db40e7 Qing Zhang 2021-06-18   86  	if (!plat->dma_cfg)
30bba69d7db40e7 Qing Zhang 2021-06-18   87  		return -ENOMEM;
30bba69d7db40e7 Qing Zhang 2021-06-18   88  
30bba69d7db40e7 Qing Zhang 2021-06-18   89  	/* Enable pci device */
30bba69d7db40e7 Qing Zhang 2021-06-18   90  	ret = pci_enable_device(pdev);
30bba69d7db40e7 Qing Zhang 2021-06-18   91  	if (ret) {
30bba69d7db40e7 Qing Zhang 2021-06-18   92  		dev_err(&pdev->dev, "%s: ERROR: failed to enable device\n", __func__);
30bba69d7db40e7 Qing Zhang 2021-06-18   93  		return ret;
30bba69d7db40e7 Qing Zhang 2021-06-18   94  	}
30bba69d7db40e7 Qing Zhang 2021-06-18   95  
30bba69d7db40e7 Qing Zhang 2021-06-18   96  	/* Get the base address of device */
30bba69d7db40e7 Qing Zhang 2021-06-18   97  	for (i = 0; i < PCI_STD_NUM_BARS; i++) {
30bba69d7db40e7 Qing Zhang 2021-06-18   98  		if (pci_resource_len(pdev, i) == 0)
30bba69d7db40e7 Qing Zhang 2021-06-18   99  			continue;
30bba69d7db40e7 Qing Zhang 2021-06-18  100  		ret = pcim_iomap_regions(pdev, BIT(0), pci_name(pdev));
30bba69d7db40e7 Qing Zhang 2021-06-18  101  		if (ret)
30bba69d7db40e7 Qing Zhang 2021-06-18  102  			return ret;
30bba69d7db40e7 Qing Zhang 2021-06-18  103  		break;
30bba69d7db40e7 Qing Zhang 2021-06-18  104  	}
30bba69d7db40e7 Qing Zhang 2021-06-18  105  
30bba69d7db40e7 Qing Zhang 2021-06-18  106  	plat->bus_id = of_alias_get_id(np, "ethernet");
30bba69d7db40e7 Qing Zhang 2021-06-18  107  	if (plat->bus_id < 0)
30bba69d7db40e7 Qing Zhang 2021-06-18  108  		plat->bus_id = pci_dev_id(pdev);
30bba69d7db40e7 Qing Zhang 2021-06-18  109  
30bba69d7db40e7 Qing Zhang 2021-06-18  110  	plat->phy_interface = device_get_phy_mode(&pdev->dev);
30bba69d7db40e7 Qing Zhang 2021-06-18  111  	if (plat->phy_interface < 0)
30bba69d7db40e7 Qing Zhang 2021-06-18  112  		dev_err(&pdev->dev, "phy_mode not found\n");
30bba69d7db40e7 Qing Zhang 2021-06-18  113  
30bba69d7db40e7 Qing Zhang 2021-06-18  114  	plat->interface = PHY_INTERFACE_MODE_GMII;
30bba69d7db40e7 Qing Zhang 2021-06-18  115  
30bba69d7db40e7 Qing Zhang 2021-06-18  116  	pci_set_master(pdev);
30bba69d7db40e7 Qing Zhang 2021-06-18  117  
30bba69d7db40e7 Qing Zhang 2021-06-18  118  	loongson_default_data(plat);
30bba69d7db40e7 Qing Zhang 2021-06-18  119  	pci_enable_msi(pdev);
30bba69d7db40e7 Qing Zhang 2021-06-18  120  	memset(&res, 0, sizeof(res));
30bba69d7db40e7 Qing Zhang 2021-06-18  121  	res.addr = pcim_iomap_table(pdev)[0];
30bba69d7db40e7 Qing Zhang 2021-06-18  122  
30bba69d7db40e7 Qing Zhang 2021-06-18  123  	res.irq = of_irq_get_byname(np, "macirq");
30bba69d7db40e7 Qing Zhang 2021-06-18  124  	if (res.irq < 0) {
30bba69d7db40e7 Qing Zhang 2021-06-18  125  		dev_err(&pdev->dev, "IRQ macirq not found\n");
30bba69d7db40e7 Qing Zhang 2021-06-18 @126  		ret = -ENODEV;
30bba69d7db40e7 Qing Zhang 2021-06-18  127  	}
30bba69d7db40e7 Qing Zhang 2021-06-18  128  
30bba69d7db40e7 Qing Zhang 2021-06-18  129  	res.wol_irq = of_irq_get_byname(np, "eth_wake_irq");
30bba69d7db40e7 Qing Zhang 2021-06-18  130  	if (res.wol_irq < 0) {
30bba69d7db40e7 Qing Zhang 2021-06-18  131  		dev_info(&pdev->dev, "IRQ eth_wake_irq not found, using macirq\n");
30bba69d7db40e7 Qing Zhang 2021-06-18  132  		res.wol_irq = res.irq;
30bba69d7db40e7 Qing Zhang 2021-06-18  133  	}
30bba69d7db40e7 Qing Zhang 2021-06-18  134  
30bba69d7db40e7 Qing Zhang 2021-06-18  135  	res.lpi_irq = of_irq_get_byname(np, "eth_lpi");
30bba69d7db40e7 Qing Zhang 2021-06-18  136  	if (res.lpi_irq < 0) {
30bba69d7db40e7 Qing Zhang 2021-06-18  137  		dev_err(&pdev->dev, "IRQ eth_lpi not found\n");
30bba69d7db40e7 Qing Zhang 2021-06-18  138  		ret = -ENODEV;
30bba69d7db40e7 Qing Zhang 2021-06-18  139  	}
30bba69d7db40e7 Qing Zhang 2021-06-18  140  
30bba69d7db40e7 Qing Zhang 2021-06-18  141  	return stmmac_dvr_probe(&pdev->dev, plat, &res);
30bba69d7db40e7 Qing Zhang 2021-06-18  142  }
30bba69d7db40e7 Qing Zhang 2021-06-18  143  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

^ permalink raw reply	[flat|nested] 2+ messages in thread

* drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:126:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
@ 2021-12-08 16:45 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-12-08 16:45 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 20459 bytes --]

CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Qing Zhang <zhangqing@loongson.cn>
CC: Jiaxun Yang <jiaxun.yang@flygoat.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   2a987e65025e2b79c6d453b78cb5985ac6e5eb26
commit: 30bba69d7db40e732d6c0aa6d4890c60d717e314 stmmac: pci: Add dwmac support for Loongson
date:   6 months ago
:::::: branch date: 17 hours ago
:::::: commit date: 6 months ago
config: i386-randconfig-c001-20211130 (https://download.01.org/0day-ci/archive/20211209/202112090024.VQMLfzUB-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 25eb7fa01d7ebbe67648ea03841cda55b4239ab2)
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
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=30bba69d7db40e732d6c0aa6d4890c60d717e314
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 30bba69d7db40e732d6c0aa6d4890c60d717e314
        # save the config file to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=i386 clang-analyzer 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
   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.
   9 warnings generated.
   Suppressed 9 warnings (9 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.
   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.
   5 warnings generated.
   Suppressed 5 warnings (5 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.
   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.
   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.
   8 warnings generated.
   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.
   8 warnings generated.
   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.
   19 warnings generated.
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:76:6: warning: Branch condition evaluates to a garbage value [clang-analyzer-core.uninitialized.Branch]
           if (mdio) {
               ^~~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:52:14: note: 'mdio' declared without an initial value
           int ret, i, mdio;
                       ^~~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:55:7: note: Calling 'dev_of_node'
           np = dev_of_node(&pdev->dev);
                ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/device.h:769:6: note: Left side of '||' is false
           if (!IS_ENABLED(CONFIG_OF) || !dev)
               ^
   include/linux/device.h:769:32: note: Assuming 'dev' is non-null, which participates in a condition later
           if (!IS_ENABLED(CONFIG_OF) || !dev)
                                         ^~~~
   include/linux/device.h:769:2: note: Taking false branch
           if (!IS_ENABLED(CONFIG_OF) || !dev)
           ^
   include/linux/device.h:771:2: note: Returning without writing to 'dev->of_node', which participates in a condition later
           return dev->of_node;
           ^
   include/linux/device.h:771:2: note: Returning pointer, which participates in a condition later
           return dev->of_node;
           ^~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:55:7: note: Returning from 'dev_of_node'
           np = dev_of_node(&pdev->dev);
                ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:57:6: note: Assuming 'np' is non-null
           if (!np) {
               ^~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:57:2: note: Taking false branch
           if (!np) {
           ^
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:62:6: note: Assuming the condition is false
           if (!of_device_is_compatible(np, "loongson, pci-gmac")) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:62:2: note: Taking false branch
           if (!of_device_is_compatible(np, "loongson, pci-gmac")) {
           ^
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:68:6: note: Assuming 'plat' is non-null
           if (!plat)
               ^~~~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:68:2: note: Taking false branch
           if (!plat)
           ^
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:71:6: note: Assuming field 'mdio_node' is null
           if (plat->mdio_node) {
               ^~~~~~~~~~~~~~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:71:2: note: Taking false branch
           if (plat->mdio_node) {
           ^
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:76:6: note: Branch condition evaluates to a garbage value
           if (mdio) {
               ^~~~
>> drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:126:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
                   ret = -ENODEV;
                   ^     ~~~~~~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:126:3: note: Value stored to 'ret' is never read
                   ret = -ENODEV;
                   ^     ~~~~~~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:138:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
                   ret = -ENODEV;
                   ^     ~~~~~~~
   drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:138:3: note: Value stored to 'ret' is never read
                   ret = -ENODEV;
                   ^     ~~~~~~~
   Suppressed 16 warnings (15 in non-user code, 1 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   8 warnings generated.
   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.
   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.
   5 warnings generated.
   Suppressed 5 warnings (5 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/misc/altera-stapl/altera.c:463:24: warning: Array access (from variable 'proc_attributes') results in a null pointer dereference [clang-analyzer-core.NullDereference]
                                   proc_attributes[i] =
                                   ~~~~~~~~~~~~~~~    ^
   drivers/misc/altera-stapl/altera.c:229:2: note: 'proc_attributes' initialized to a null pointer value
           u8 *proc_attributes = NULL;
           ^~~~~~~~~~~~~~~~~~~
   drivers/misc/altera-stapl/altera.c:263:2: note: Assuming 'debug' is 0
           dprintk("%s\n", __func__);
           ^
   drivers/misc/altera-stapl/altera.c:31:6: note: expanded from macro 'dprintk'
           if (debug) { \
               ^~~~~
   drivers/misc/altera-stapl/altera.c:263:2: note: Taking false branch
           dprintk("%s\n", __func__);
           ^
   drivers/misc/altera-stapl/altera.c:31:2: note: expanded from macro 'dprintk'
           if (debug) { \
           ^
   drivers/misc/altera-stapl/altera.c:266:6: note: Assuming 'program_size' is > 52
           if (program_size > 52L) {
               ^~~~~~~~~~~~~~~~~~
   drivers/misc/altera-stapl/altera.c:266:2: note: Taking true branch
           if (program_size > 52L) {
           ^
   drivers/misc/altera-stapl/altera.c:284:7: note: Assuming 'first_word' is not equal to 1245793536
           if ((first_word != 0x4A414D00L) && (first_word != 0x4A414D01L)) {
                ^~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/misc/altera-stapl/altera.c:284:6: note: Left side of '&&' is true
           if ((first_word != 0x4A414D00L) && (first_word != 0x4A414D01L)) {
               ^
   drivers/misc/altera-stapl/altera.c:284:38: note: Assuming 'first_word' is equal to 1245793537
           if ((first_word != 0x4A414D00L) && (first_word != 0x4A414D01L)) {
                                               ^~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/misc/altera-stapl/altera.c:284:2: note: Taking false branch
           if ((first_word != 0x4A414D00L) && (first_word != 0x4A414D01L)) {
           ^
   drivers/misc/altera-stapl/altera.c:290:6: note: Assuming 'sym_count' is <= 0
           if (sym_count <= 0)
               ^~~~~~~~~~~~~~
   drivers/misc/altera-stapl/altera.c:290:2: note: Taking true branch
           if (sym_count <= 0)
           ^
   drivers/misc/altera-stapl/altera.c:291:3: note: Control jumps to line 419
                   goto exit_done;
                   ^
   drivers/misc/altera-stapl/altera.c:419:6: note: 'status' is equal to 0
           if (status != 0)
               ^~~~~~
   drivers/misc/altera-stapl/altera.c:419:2: note: Taking false branch
           if (status != 0)
           ^
   drivers/misc/altera-stapl/altera.c:431:6: note: 'version' is > 0
           if (version > 0) {
               ^~~~~~~
   drivers/misc/altera-stapl/altera.c:431:2: note: Taking true branch
           if (version > 0) {
           ^
   drivers/misc/altera-stapl/altera.c:432:7: note: Assuming field 'action' is not equal to NULL
                   if (aconf->action == NULL) {
                       ^~~~~~~~~~~~~~~~~~~~~
   drivers/misc/altera-stapl/altera.c:432:3: note: Taking false branch
                   if (aconf->action == NULL) {
                   ^
   drivers/misc/altera-stapl/altera.c:437:17: note: Assuming 'i' is < 'action_count'
                           for (i = 0; (i < action_count) && !action_found; ++i) {
                                        ^~~~~~~~~~~~~~~~
   drivers/misc/altera-stapl/altera.c:437:16: note: Left side of '&&' is true
                           for (i = 0; (i < action_count) && !action_found; ++i) {
                                       ^
   drivers/misc/altera-stapl/altera.c:437:4: note: Loop condition is true.  Entering loop body
                           for (i = 0; (i < action_count) && !action_found; ++i) {
                           ^
   drivers/misc/altera-stapl/altera.c:443:5: note: Taking true branch
                                   if (strncasecmp(aconf->action, name, strlen(name)) == 0) {
                                   ^
   drivers/misc/altera-stapl/altera.c:437:17: note: Assuming 'i' is >= 'action_count'
                           for (i = 0; (i < action_count) && !action_found; ++i) {

vim +/ret +126 drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c

30bba69d7db40e Qing Zhang 2021-06-18   47  
30bba69d7db40e Qing Zhang 2021-06-18   48  static int loongson_dwmac_probe(struct pci_dev *pdev, const struct pci_device_id *id)
30bba69d7db40e Qing Zhang 2021-06-18   49  {
30bba69d7db40e Qing Zhang 2021-06-18   50  	struct plat_stmmacenet_data *plat;
30bba69d7db40e Qing Zhang 2021-06-18   51  	struct stmmac_resources res;
30bba69d7db40e Qing Zhang 2021-06-18   52  	int ret, i, mdio;
30bba69d7db40e Qing Zhang 2021-06-18   53  	struct device_node *np;
30bba69d7db40e Qing Zhang 2021-06-18   54  
30bba69d7db40e Qing Zhang 2021-06-18   55  	np = dev_of_node(&pdev->dev);
30bba69d7db40e Qing Zhang 2021-06-18   56  
30bba69d7db40e Qing Zhang 2021-06-18   57  	if (!np) {
30bba69d7db40e Qing Zhang 2021-06-18   58  		pr_info("dwmac_loongson_pci: No OF node\n");
30bba69d7db40e Qing Zhang 2021-06-18   59  		return -ENODEV;
30bba69d7db40e Qing Zhang 2021-06-18   60  	}
30bba69d7db40e Qing Zhang 2021-06-18   61  
30bba69d7db40e Qing Zhang 2021-06-18   62  	if (!of_device_is_compatible(np, "loongson, pci-gmac")) {
30bba69d7db40e Qing Zhang 2021-06-18   63  		pr_info("dwmac_loongson_pci: Incompatible OF node\n");
30bba69d7db40e Qing Zhang 2021-06-18   64  		return -ENODEV;
30bba69d7db40e Qing Zhang 2021-06-18   65  	}
30bba69d7db40e Qing Zhang 2021-06-18   66  
30bba69d7db40e Qing Zhang 2021-06-18   67  	plat = devm_kzalloc(&pdev->dev, sizeof(*plat), GFP_KERNEL);
30bba69d7db40e Qing Zhang 2021-06-18   68  	if (!plat)
30bba69d7db40e Qing Zhang 2021-06-18   69  		return -ENOMEM;
30bba69d7db40e Qing Zhang 2021-06-18   70  
30bba69d7db40e Qing Zhang 2021-06-18   71  	if (plat->mdio_node) {
30bba69d7db40e Qing Zhang 2021-06-18   72  		dev_err(&pdev->dev, "Found MDIO subnode\n");
30bba69d7db40e Qing Zhang 2021-06-18   73  		mdio = true;
30bba69d7db40e Qing Zhang 2021-06-18   74  	}
30bba69d7db40e Qing Zhang 2021-06-18   75  
30bba69d7db40e Qing Zhang 2021-06-18   76  	if (mdio) {
30bba69d7db40e Qing Zhang 2021-06-18   77  		plat->mdio_bus_data = devm_kzalloc(&pdev->dev,
30bba69d7db40e Qing Zhang 2021-06-18   78  						   sizeof(*plat->mdio_bus_data),
30bba69d7db40e Qing Zhang 2021-06-18   79  						   GFP_KERNEL);
30bba69d7db40e Qing Zhang 2021-06-18   80  		if (!plat->mdio_bus_data)
30bba69d7db40e Qing Zhang 2021-06-18   81  			return -ENOMEM;
30bba69d7db40e Qing Zhang 2021-06-18   82  		plat->mdio_bus_data->needs_reset = true;
30bba69d7db40e Qing Zhang 2021-06-18   83  	}
30bba69d7db40e Qing Zhang 2021-06-18   84  
30bba69d7db40e Qing Zhang 2021-06-18   85  	plat->dma_cfg = devm_kzalloc(&pdev->dev, sizeof(*plat->dma_cfg), GFP_KERNEL);
30bba69d7db40e Qing Zhang 2021-06-18   86  	if (!plat->dma_cfg)
30bba69d7db40e Qing Zhang 2021-06-18   87  		return -ENOMEM;
30bba69d7db40e Qing Zhang 2021-06-18   88  
30bba69d7db40e Qing Zhang 2021-06-18   89  	/* Enable pci device */
30bba69d7db40e Qing Zhang 2021-06-18   90  	ret = pci_enable_device(pdev);
30bba69d7db40e Qing Zhang 2021-06-18   91  	if (ret) {
30bba69d7db40e Qing Zhang 2021-06-18   92  		dev_err(&pdev->dev, "%s: ERROR: failed to enable device\n", __func__);
30bba69d7db40e Qing Zhang 2021-06-18   93  		return ret;
30bba69d7db40e Qing Zhang 2021-06-18   94  	}
30bba69d7db40e Qing Zhang 2021-06-18   95  
30bba69d7db40e Qing Zhang 2021-06-18   96  	/* Get the base address of device */
30bba69d7db40e Qing Zhang 2021-06-18   97  	for (i = 0; i < PCI_STD_NUM_BARS; i++) {
30bba69d7db40e Qing Zhang 2021-06-18   98  		if (pci_resource_len(pdev, i) == 0)
30bba69d7db40e Qing Zhang 2021-06-18   99  			continue;
30bba69d7db40e Qing Zhang 2021-06-18  100  		ret = pcim_iomap_regions(pdev, BIT(0), pci_name(pdev));
30bba69d7db40e Qing Zhang 2021-06-18  101  		if (ret)
30bba69d7db40e Qing Zhang 2021-06-18  102  			return ret;
30bba69d7db40e Qing Zhang 2021-06-18  103  		break;
30bba69d7db40e Qing Zhang 2021-06-18  104  	}
30bba69d7db40e Qing Zhang 2021-06-18  105  
30bba69d7db40e Qing Zhang 2021-06-18  106  	plat->bus_id = of_alias_get_id(np, "ethernet");
30bba69d7db40e Qing Zhang 2021-06-18  107  	if (plat->bus_id < 0)
30bba69d7db40e Qing Zhang 2021-06-18  108  		plat->bus_id = pci_dev_id(pdev);
30bba69d7db40e Qing Zhang 2021-06-18  109  
30bba69d7db40e Qing Zhang 2021-06-18  110  	plat->phy_interface = device_get_phy_mode(&pdev->dev);
30bba69d7db40e Qing Zhang 2021-06-18  111  	if (plat->phy_interface < 0)
30bba69d7db40e Qing Zhang 2021-06-18  112  		dev_err(&pdev->dev, "phy_mode not found\n");
30bba69d7db40e Qing Zhang 2021-06-18  113  
30bba69d7db40e Qing Zhang 2021-06-18  114  	plat->interface = PHY_INTERFACE_MODE_GMII;
30bba69d7db40e Qing Zhang 2021-06-18  115  
30bba69d7db40e Qing Zhang 2021-06-18  116  	pci_set_master(pdev);
30bba69d7db40e Qing Zhang 2021-06-18  117  
30bba69d7db40e Qing Zhang 2021-06-18  118  	loongson_default_data(plat);
30bba69d7db40e Qing Zhang 2021-06-18  119  	pci_enable_msi(pdev);
30bba69d7db40e Qing Zhang 2021-06-18  120  	memset(&res, 0, sizeof(res));
30bba69d7db40e Qing Zhang 2021-06-18  121  	res.addr = pcim_iomap_table(pdev)[0];
30bba69d7db40e Qing Zhang 2021-06-18  122  
30bba69d7db40e Qing Zhang 2021-06-18  123  	res.irq = of_irq_get_byname(np, "macirq");
30bba69d7db40e Qing Zhang 2021-06-18  124  	if (res.irq < 0) {
30bba69d7db40e Qing Zhang 2021-06-18  125  		dev_err(&pdev->dev, "IRQ macirq not found\n");
30bba69d7db40e Qing Zhang 2021-06-18 @126  		ret = -ENODEV;
30bba69d7db40e Qing Zhang 2021-06-18  127  	}
30bba69d7db40e Qing Zhang 2021-06-18  128  
30bba69d7db40e Qing Zhang 2021-06-18  129  	res.wol_irq = of_irq_get_byname(np, "eth_wake_irq");
30bba69d7db40e Qing Zhang 2021-06-18  130  	if (res.wol_irq < 0) {
30bba69d7db40e Qing Zhang 2021-06-18  131  		dev_info(&pdev->dev, "IRQ eth_wake_irq not found, using macirq\n");
30bba69d7db40e Qing Zhang 2021-06-18  132  		res.wol_irq = res.irq;
30bba69d7db40e Qing Zhang 2021-06-18  133  	}
30bba69d7db40e Qing Zhang 2021-06-18  134  
30bba69d7db40e Qing Zhang 2021-06-18  135  	res.lpi_irq = of_irq_get_byname(np, "eth_lpi");
30bba69d7db40e Qing Zhang 2021-06-18  136  	if (res.lpi_irq < 0) {
30bba69d7db40e Qing Zhang 2021-06-18  137  		dev_err(&pdev->dev, "IRQ eth_lpi not found\n");
30bba69d7db40e Qing Zhang 2021-06-18  138  		ret = -ENODEV;
30bba69d7db40e Qing Zhang 2021-06-18  139  	}
30bba69d7db40e Qing Zhang 2021-06-18  140  
30bba69d7db40e Qing Zhang 2021-06-18  141  	return stmmac_dvr_probe(&pdev->dev, plat, &res);
30bba69d7db40e Qing Zhang 2021-06-18  142  }
30bba69d7db40e Qing Zhang 2021-06-18  143  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-12-08 16:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-08 16:45 drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c:126:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2021-12-01 22:23 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.