drivers/iio/adc/max1027.c:412:14: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
by kernel test robot
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Miquel Raynal <miquel.raynal(a)bootlin.com>
CC: 0day robot <lkp(a)intel.com>
tree: https://github.com/0day-ci/linux/commits/Miquel-Raynal/Bring-external-tri...
head: 82403933ab13283e98041a4c285420988531362c
commit: 1e80dcadd79f6dec7346dc596fbafd508ea2844e iio: adc: max1027: Minimize the number of converted channels
date: 7 days ago
:::::: branch date: 7 days ago
:::::: commit date: 7 days ago
config: riscv-randconfig-c006-20210927 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dc6e8dfdfe7efecfda318d43a06fae18b40eb498)
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://github.com/0day-ci/linux/commit/1e80dcadd79f6dec7346dc596fbafd508...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Miquel-Raynal/Bring-external-triggers-support-to-MAX1027-like-ADCs/20210922-131741
git checkout 1e80dcadd79f6dec7346dc596fbafd508ea2844e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
include/linux/list.h:135:13: note: Use of memory after it is freed
__list_del(entry->prev, entry->next);
^~~~~~~~~~~
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.
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.
11 warnings generated.
drivers/iio/adc/ad7292.c:78:8: warning: Excessive padding in 'struct ad7292_state' (114 padding bytes, where 50 is optimal).
Optimal fields order:
d16,
vref_mv,
spi,
reg,
d8,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct ad7292_state {
~~~~~~~^~~~~~~~~~~~~~
drivers/iio/adc/ad7292.c:78:8: note: Excessive padding in 'struct ad7292_state' (114 padding bytes, where 50 is optimal). Optimal fields order: d16, vref_mv, spi, reg, d8, consider reordering the fields or adding explicit padding members
struct ad7292_state {
~~~~~~~^~~~~~~~~~~~~~
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.
11 warnings generated.
drivers/iio/adc/ad7298.c:40:8: warning: Excessive padding in 'struct ad7298_state' (72 padding bytes, where 8 is optimal).
Optimal fields order:
rx_buf,
spi,
reg,
ext_ref,
ring_msg,
scan_single_msg,
scan_single_xfer,
ring_xfer,
tx_buf,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct ad7298_state {
~~~~~~~^~~~~~~~~~~~~~
drivers/iio/adc/ad7298.c:40:8: note: Excessive padding in 'struct ad7298_state' (72 padding bytes, where 8 is optimal). Optimal fields order: rx_buf, spi, reg, ext_ref, ring_msg, scan_single_msg, scan_single_xfer, ring_xfer, tx_buf, consider reordering the fields or adding explicit padding members
struct ad7298_state {
~~~~~~~^~~~~~~~~~~~~~
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.
11 warnings generated.
drivers/iio/adc/ad7923.c:48:8: warning: Excessive padding in 'struct ad7923_state' (68 padding bytes, where 4 is optimal).
Optimal fields order:
rx_buf,
spi,
reg,
settings,
ring_msg,
scan_single_msg,
scan_single_xfer,
ring_xfer,
tx_buf,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct ad7923_state {
~~~~~~~^~~~~~~~~~~~~~
drivers/iio/adc/ad7923.c:48:8: note: Excessive padding in 'struct ad7923_state' (68 padding bytes, where 4 is optimal). Optimal fields order: rx_buf, spi, reg, settings, ring_msg, scan_single_msg, scan_single_xfer, ring_xfer, tx_buf, consider reordering the fields or adding explicit padding members
struct ad7923_state {
~~~~~~~^~~~~~~~~~~~~~
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.
10 warnings generated.
drivers/gpu/drm/nouveau/nouveau_bo90b5.c:40:6: warning: Value stored to 'page_count' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
u32 page_count = new_reg->num_pages;
^~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/nouveau/nouveau_bo90b5.c:40:6: note: Value stored to 'page_count' during its initialization is never read
u32 page_count = new_reg->num_pages;
^~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
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.
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.
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.
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.
10 warnings generated.
drivers/iio/adc/max1027.c:265:8: warning: Excessive padding in 'struct max1027_state' (99 padding bytes, where 35 is optimal).
Optimal fields order:
reg,
info,
spi,
trig,
buffer,
lock,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct max1027_state {
~~~~~~~^~~~~~~~~~~~~~~
drivers/iio/adc/max1027.c:265:8: note: Excessive padding in 'struct max1027_state' (99 padding bytes, where 35 is optimal). Optimal fields order: reg, info, spi, trig, buffer, lock, consider reordering the fields or adding explicit padding members
struct max1027_state {
~~~~~~~^~~~~~~~~~~~~~~
>> drivers/iio/adc/max1027.c:412:14: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
st->reg |= MAX1027_CHAN(fls(*indio_dev->active_scan_mask) - 2);
^
drivers/iio/adc/max1027.c:38:32: note: expanded from macro 'MAX1027_CHAN'
#define MAX1027_CHAN(n) ((n) << 3)
~~~ ^
drivers/iio/adc/max1027.c:399:6: note: Assuming 'state' is true
if (state) {
^~~~~
drivers/iio/adc/max1027.c:399:2: note: Taking true branch
if (state) {
^
drivers/iio/adc/max1027.c:404:7: note: Assuming 'ret' is >= 0
if (ret < 0)
^~~~~~~
drivers/iio/adc/max1027.c:404:3: note: Taking false branch
if (ret < 0)
^
drivers/iio/adc/max1027.c:412:14: note: The result of the left shift is undefined because the left operand is negative
st->reg |= MAX1027_CHAN(fls(*indio_dev->active_scan_mask) - 2);
^
drivers/iio/adc/max1027.c:38:32: note: expanded from macro 'MAX1027_CHAN'
#define MAX1027_CHAN(n) ((n) << 3)
~~~ ^
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.
11 warnings generated.
drivers/iio/adc/max11100.c:31:8: warning: Excessive padding in 'struct max11100_state' (117 padding bytes, where 53 is optimal).
Optimal fields order:
buffer,
vref_reg,
spi,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct max11100_state {
~~~~~~~^~~~~~~~~~~~~~~~
drivers/iio/adc/max11100.c:31:8: note: Excessive padding in 'struct max11100_state' (117 padding bytes, where 53 is optimal). Optimal fields order: buffer, vref_reg, spi, consider reordering the fields or adding explicit padding members
struct max11100_state {
~~~~~~~^~~~~~~~~~~~~~~~
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.
11 warnings generated.
drivers/iio/adc/max1241.c:22:8: warning: Excessive padding in 'struct max1241' (98 padding bytes, where 34 is optimal).
Optimal fields order:
data,
spi,
vdd,
vref,
shutdown,
lock,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct max1241 {
~~~~~~~^~~~~~~~~
drivers/iio/adc/max1241.c:22:8: note: Excessive padding in 'struct max1241' (98 padding bytes, where 34 is optimal). Optimal fields order: data, spi, vdd, vref, shutdown, lock, consider reordering the fields or adding explicit padding members
struct max1241 {
~~~~~~~^~~~~~~~~
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.
18 warnings generated.
Suppressed 18 warnings (10 in non-user code, 8 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.
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.
11 warnings generated.
drivers/iio/dac/ad5770r.c:133:8: warning: Excessive padding in 'struct ad5770r_state' (86 padding bytes, where 22 is optimal).
Optimal fields order:
transf_buf,
internal_ref,
external_res,
spi,
regmap,
vref_reg,
gpio_reset,
vref,
ch_pwr_down,
output_mode,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct ad5770r_state {
~~~~~~~^~~~~~~~~~~~~~~
drivers/iio/dac/ad5770r.c:133:8: note: Excessive padding in 'struct ad5770r_state' (86 padding bytes, where 22 is optimal). Optimal fields order: transf_buf, internal_ref, external_res, spi, regmap, vref_reg, gpio_reset, vref, ch_pwr_down, output_mode, consider reordering the fields or adding explicit padding members
struct ad5770r_state {
~~~~~~~^~~~~~~~~~~~~~~
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.
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.
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.
11 warnings generated.
drivers/iio/dac/ad7303.c:37:8: warning: Excessive padding in 'struct ad7303_state' (98 padding bytes, where 34 is optimal).
Optimal fields order:
data,
config,
spi,
vdd_reg,
vref_reg,
vim +412 drivers/iio/adc/max1027.c
fc167f62483325 Philippe Reynes 2014-06-14 392
fc167f62483325 Philippe Reynes 2014-06-14 393 static int max1027_set_trigger_state(struct iio_trigger *trig, bool state)
fc167f62483325 Philippe Reynes 2014-06-14 394 {
fc167f62483325 Philippe Reynes 2014-06-14 395 struct iio_dev *indio_dev = iio_trigger_get_drvdata(trig);
fc167f62483325 Philippe Reynes 2014-06-14 396 struct max1027_state *st = iio_priv(indio_dev);
fc167f62483325 Philippe Reynes 2014-06-14 397 int ret;
fc167f62483325 Philippe Reynes 2014-06-14 398
fc167f62483325 Philippe Reynes 2014-06-14 399 if (state) {
fc167f62483325 Philippe Reynes 2014-06-14 400 /* Start acquisition on cnvst */
fc167f62483325 Philippe Reynes 2014-06-14 401 st->reg = MAX1027_SETUP_REG | MAX1027_CKS_MODE0 |
fc167f62483325 Philippe Reynes 2014-06-14 402 MAX1027_REF_MODE2;
fc167f62483325 Philippe Reynes 2014-06-14 403 ret = spi_write(st->spi, &st->reg, 1);
fc167f62483325 Philippe Reynes 2014-06-14 404 if (ret < 0)
fc167f62483325 Philippe Reynes 2014-06-14 405 return ret;
fc167f62483325 Philippe Reynes 2014-06-14 406
1e80dcadd79f6d Miquel Raynal 2021-09-21 407 /*
1e80dcadd79f6d Miquel Raynal 2021-09-21 408 * Scan from chan 0 to the highest requested channel.
1e80dcadd79f6d Miquel Raynal 2021-09-21 409 * Include temperature on demand.
1e80dcadd79f6d Miquel Raynal 2021-09-21 410 */
1e80dcadd79f6d Miquel Raynal 2021-09-21 411 st->reg = MAX1027_CONV_REG | MAX1027_SCAN_0_N;
1e80dcadd79f6d Miquel Raynal 2021-09-21 @412 st->reg |= MAX1027_CHAN(fls(*indio_dev->active_scan_mask) - 2);
1e80dcadd79f6d Miquel Raynal 2021-09-21 413 if (*indio_dev->active_scan_mask & MAX1X27_SCAN_MASK_TEMP)
1e80dcadd79f6d Miquel Raynal 2021-09-21 414 st->reg |= MAX1027_TEMP;
1e80dcadd79f6d Miquel Raynal 2021-09-21 415
fc167f62483325 Philippe Reynes 2014-06-14 416 ret = spi_write(st->spi, &st->reg, 1);
fc167f62483325 Philippe Reynes 2014-06-14 417 if (ret < 0)
fc167f62483325 Philippe Reynes 2014-06-14 418 return ret;
fc167f62483325 Philippe Reynes 2014-06-14 419 } else {
fc167f62483325 Philippe Reynes 2014-06-14 420 /* Start acquisition on conversion register write */
fc167f62483325 Philippe Reynes 2014-06-14 421 st->reg = MAX1027_SETUP_REG | MAX1027_CKS_MODE2 |
fc167f62483325 Philippe Reynes 2014-06-14 422 MAX1027_REF_MODE2;
fc167f62483325 Philippe Reynes 2014-06-14 423 ret = spi_write(st->spi, &st->reg, 1);
fc167f62483325 Philippe Reynes 2014-06-14 424 if (ret < 0)
fc167f62483325 Philippe Reynes 2014-06-14 425 return ret;
fc167f62483325 Philippe Reynes 2014-06-14 426 }
fc167f62483325 Philippe Reynes 2014-06-14 427
fc167f62483325 Philippe Reynes 2014-06-14 428 return 0;
fc167f62483325 Philippe Reynes 2014-06-14 429 }
fc167f62483325 Philippe Reynes 2014-06-14 430
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
sound/soc/intel/catpt/loader.c:654 catpt_first_boot_firmware() warn: consider using resource_size() here
by kernel test robot
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Cezary Rojewski <cezary.rojewski(a)intel.com>
CC: Mark Brown <broonie(a)kernel.org>
CC: Andy Shevchenko <andriy.shevchenko(a)linux.intel.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: a4e6f95a891ac08bd09d62e3e6dae239b150f4c1
commit: 6cbfa11d2694b8a1e46d6834fb9705d5589e3ef1 ASoC: Intel: Select catpt and deprecate haswell
date: 12 months ago
:::::: branch date: 5 hours ago
:::::: commit date: 12 months ago
config: x86_64-randconfig-m031-20210928 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
sound/soc/intel/catpt/loader.c:654 catpt_first_boot_firmware() warn: consider using resource_size() here
vim +654 sound/soc/intel/catpt/loader.c
a9aa6fb3eb6c7e Cezary Rojewski 2020-09-29 637
a9aa6fb3eb6c7e Cezary Rojewski 2020-09-29 638 int catpt_first_boot_firmware(struct catpt_dev *cdev)
a9aa6fb3eb6c7e Cezary Rojewski 2020-09-29 639 {
a9aa6fb3eb6c7e Cezary Rojewski 2020-09-29 640 struct resource *res;
a9aa6fb3eb6c7e Cezary Rojewski 2020-09-29 641 int ret;
a9aa6fb3eb6c7e Cezary Rojewski 2020-09-29 642
a9aa6fb3eb6c7e Cezary Rojewski 2020-09-29 643 ret = catpt_boot_firmware(cdev, false);
a9aa6fb3eb6c7e Cezary Rojewski 2020-09-29 644 if (ret) {
a9aa6fb3eb6c7e Cezary Rojewski 2020-09-29 645 dev_err(cdev->dev, "basefw boot failed: %d\n", ret);
a9aa6fb3eb6c7e Cezary Rojewski 2020-09-29 646 return ret;
a9aa6fb3eb6c7e Cezary Rojewski 2020-09-29 647 }
a9aa6fb3eb6c7e Cezary Rojewski 2020-09-29 648
a9aa6fb3eb6c7e Cezary Rojewski 2020-09-29 649 /* restrict FW Core dump area */
a9aa6fb3eb6c7e Cezary Rojewski 2020-09-29 650 __request_region(&cdev->dram, 0, 0x200, NULL, 0);
a9aa6fb3eb6c7e Cezary Rojewski 2020-09-29 651 /* restrict entire area following BASE_FW - highest offset in DRAM */
a9aa6fb3eb6c7e Cezary Rojewski 2020-09-29 652 for (res = cdev->dram.child; res->sibling; res = res->sibling)
a9aa6fb3eb6c7e Cezary Rojewski 2020-09-29 653 ;
a9aa6fb3eb6c7e Cezary Rojewski 2020-09-29 @654 __request_region(&cdev->dram, res->end + 1,
:::::: The code at line 654 was first introduced by commit
:::::: a9aa6fb3eb6c7e0e7e117b3f2dfafef8c45b9ea6 ASoC: Intel: catpt: Firmware loading and context restore
:::::: TO: Cezary Rojewski <cezary.rojewski(a)intel.com>
:::::: CC: Mark Brown <broonie(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
sound/virtio/virtio_pcm_msg.c:56 virtsnd_pcm_sg_num() warn: should '((pg - mem_map) + arch_pfn_offset) << 13' be a 64 bit type?
by kernel test robot
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Anton Yakovlev <anton.yakovlev(a)opensynergy.com>
CC: Takashi Iwai <tiwai(a)suse.de>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 6fd3ec5c7af58d5d6b598fba22ac387645af33f4
commit: f40a28679e0b7cb3a9cc6627a8dbb40961990f0a ALSA: virtio: handling control and I/O messages for the PCM device
date: 7 months ago
:::::: branch date: 3 hours ago
:::::: commit date: 7 months ago
config: arc-randconfig-m031-20210928 (attached as .config)
compiler: arc-elf-gcc (GCC) 11.2.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
sound/virtio/virtio_pcm_msg.c:56 virtsnd_pcm_sg_num() warn: should '((pg - mem_map) + arch_pfn_offset) << 13' be a 64 bit type?
vim +56 sound/virtio/virtio_pcm_msg.c
f40a28679e0b7c Anton Yakovlev 2021-03-02 38
f40a28679e0b7c Anton Yakovlev 2021-03-02 39 /**
f40a28679e0b7c Anton Yakovlev 2021-03-02 40 * virtsnd_pcm_sg_num() - Count the number of sg-elements required to represent
f40a28679e0b7c Anton Yakovlev 2021-03-02 41 * vmalloc'ed buffer.
f40a28679e0b7c Anton Yakovlev 2021-03-02 42 * @data: Pointer to vmalloc'ed buffer.
f40a28679e0b7c Anton Yakovlev 2021-03-02 43 * @length: Buffer size.
f40a28679e0b7c Anton Yakovlev 2021-03-02 44 *
f40a28679e0b7c Anton Yakovlev 2021-03-02 45 * Context: Any context.
f40a28679e0b7c Anton Yakovlev 2021-03-02 46 * Return: Number of physically contiguous parts in the @data.
f40a28679e0b7c Anton Yakovlev 2021-03-02 47 */
f40a28679e0b7c Anton Yakovlev 2021-03-02 48 static int virtsnd_pcm_sg_num(u8 *data, unsigned int length)
f40a28679e0b7c Anton Yakovlev 2021-03-02 49 {
f40a28679e0b7c Anton Yakovlev 2021-03-02 50 phys_addr_t sg_address;
f40a28679e0b7c Anton Yakovlev 2021-03-02 51 unsigned int sg_length;
f40a28679e0b7c Anton Yakovlev 2021-03-02 52 int num = 0;
f40a28679e0b7c Anton Yakovlev 2021-03-02 53
f40a28679e0b7c Anton Yakovlev 2021-03-02 54 while (length) {
f40a28679e0b7c Anton Yakovlev 2021-03-02 55 struct page *pg = vmalloc_to_page(data);
f40a28679e0b7c Anton Yakovlev 2021-03-02 @56 phys_addr_t pg_address = page_to_phys(pg);
f40a28679e0b7c Anton Yakovlev 2021-03-02 57 size_t pg_length;
f40a28679e0b7c Anton Yakovlev 2021-03-02 58
f40a28679e0b7c Anton Yakovlev 2021-03-02 59 pg_length = PAGE_SIZE - offset_in_page(data);
f40a28679e0b7c Anton Yakovlev 2021-03-02 60 if (pg_length > length)
f40a28679e0b7c Anton Yakovlev 2021-03-02 61 pg_length = length;
f40a28679e0b7c Anton Yakovlev 2021-03-02 62
f40a28679e0b7c Anton Yakovlev 2021-03-02 63 if (!num || sg_address + sg_length != pg_address) {
f40a28679e0b7c Anton Yakovlev 2021-03-02 64 sg_address = pg_address;
f40a28679e0b7c Anton Yakovlev 2021-03-02 65 sg_length = pg_length;
f40a28679e0b7c Anton Yakovlev 2021-03-02 66 num++;
f40a28679e0b7c Anton Yakovlev 2021-03-02 67 } else {
f40a28679e0b7c Anton Yakovlev 2021-03-02 68 sg_length += pg_length;
f40a28679e0b7c Anton Yakovlev 2021-03-02 69 }
f40a28679e0b7c Anton Yakovlev 2021-03-02 70
f40a28679e0b7c Anton Yakovlev 2021-03-02 71 data += pg_length;
f40a28679e0b7c Anton Yakovlev 2021-03-02 72 length -= pg_length;
f40a28679e0b7c Anton Yakovlev 2021-03-02 73 }
f40a28679e0b7c Anton Yakovlev 2021-03-02 74
f40a28679e0b7c Anton Yakovlev 2021-03-02 75 return num;
f40a28679e0b7c Anton Yakovlev 2021-03-02 76 }
f40a28679e0b7c Anton Yakovlev 2021-03-02 77
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
kernel/sched/core.c:3736:2: warning: Value stored to 'rq' is never read [clang-analyzer-deadcode.DeadStores]
by kernel test robot
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Peter Zijlstra <peterz(a)infradead.org>
CC: Valentin Schneider <valentin.schneider(a)arm.com>
CC: Daniel Bristot de Oliveira <bristot(a)redhat.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0513e464f9007b70b96740271a948ca5ab6e7dd7
commit: 565790d28b1e33ee2f77bad5348b99f6dfc366fd sched: Fix balance_callback()
date: 11 months ago
:::::: branch date: 19 hours ago
:::::: commit date: 11 months ago
config: x86_64-randconfig-c007-20210927 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dc6e8dfdfe7efecfda318d43a06fae18b40eb498)
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...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 565790d28b1e33ee2f77bad5348b99f6dfc366fd
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
^
crypto/skcipher.c:359:11: note: Calling 'skcipher_walk_done'
return skcipher_walk_done(walk, -EINVAL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/skcipher.c:109:6: note: Assuming 'n' is not equal to 0
if (!n)
^~
crypto/skcipher.c:109:2: note: Taking false branch
if (!n)
^
crypto/skcipher.c:112:2: note: Taking false branch
if (likely(err >= 0)) {
^
crypto/skcipher.c:117:13: note: Assuming the condition is false
if (likely(!(walk->flags & (SKCIPHER_WALK_PHYS |
^
include/linux/compiler.h:77:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
crypto/skcipher.c:117:2: note: Taking false branch
if (likely(!(walk->flags & (SKCIPHER_WALK_PHYS |
^
crypto/skcipher.c:123:13: note: Assuming the condition is false
} else if (walk->flags & SKCIPHER_WALK_DIFF) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/skcipher.c:123:9: note: Taking false branch
} else if (walk->flags & SKCIPHER_WALK_DIFF) {
^
crypto/skcipher.c:126:13: note: Assuming the condition is true
} else if (walk->flags & SKCIPHER_WALK_COPY) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/skcipher.c:126:9: note: Taking true branch
} else if (walk->flags & SKCIPHER_WALK_COPY) {
^
crypto/skcipher.c:127:3: note: Calling 'skcipher_map_dst'
skcipher_map_dst(walk);
^~~~~~~~~~~~~~~~~~~~~~
crypto/skcipher.c:66:1: note: Returning without writing to 'walk->page'
}
^
crypto/skcipher.c:127:3: note: Returning from 'skcipher_map_dst'
skcipher_map_dst(walk);
^~~~~~~~~~~~~~~~~~~~~~
crypto/skcipher.c:128:3: note: Null pointer passed as 2nd argument to memory copy function
memcpy(walk->dst.virt.addr, walk->page, n);
^ ~~~~~~~~~~
Suppressed 4 warnings (4 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.
4 warnings generated.
fs/hfsplus/xattr_security.c:52:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(xattr_name, XATTR_SECURITY_PREFIX);
^~~~~~
fs/hfsplus/xattr_security.c:52:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(xattr_name, XATTR_SECURITY_PREFIX);
^~~~~~
fs/hfsplus/xattr_security.c:53:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(xattr_name +
^~~~~~
fs/hfsplus/xattr_security.c:53:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(xattr_name +
^~~~~~
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.
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.
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.
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.
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.
3 warnings generated.
Suppressed 3 warnings (3 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.
4 warnings generated.
crypto/algboss.c:196:6: warning: Value stored to 'type' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
u32 type = param->type;
^~~~ ~~~~~~~~~~~
crypto/algboss.c:196:6: note: Value stored to 'type' during its initialization is never read
u32 type = param->type;
^~~~ ~~~~~~~~~~~
Suppressed 3 warnings (3 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.
3 warnings generated.
Suppressed 3 warnings (3 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.
3 warnings generated.
Suppressed 3 warnings (3 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.
14 warnings generated.
>> kernel/sched/core.c:3736:2: warning: Value stored to 'rq' is never read [clang-analyzer-deadcode.DeadStores]
rq = finish_task_switch(prev);
^ ~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c:3736:2: note: Value stored to 'rq' is never read
rq = finish_task_switch(prev);
^ ~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c:4269:16: warning: Value stored to 'preempt_disable_ip' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
unsigned long preempt_disable_ip = get_preempt_disable_ip(current);
^~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c:4269:16: note: Value stored to 'preempt_disable_ip' during its initialization is never read
unsigned long preempt_disable_ip = get_preempt_disable_ip(current);
^~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c:4549:3: warning: Value stored to 'rq' is never read [clang-analyzer-deadcode.DeadStores]
rq = context_switch(rq, prev, next, &rf);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c:4549:3: note: Value stored to 'rq' is never read
rq = context_switch(rq, prev, next, &rf);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c:7128:3: warning: Value stored to 'ptr' is never read [clang-analyzer-deadcode.DeadStores]
ptr += nr_cpu_ids * sizeof(void **);
^
kernel/sched/core.c:7128:3: note: Value stored to 'ptr' is never read
kernel/sched/core.c:7309:2: warning: Value stored to 'preempt_disable_ip' is never read [clang-analyzer-deadcode.DeadStores]
preempt_disable_ip = get_preempt_disable_ip(current);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sched/core.c:7309:2: note: Value stored to 'preempt_disable_ip' is never read
preempt_disable_ip = get_preempt_disable_ip(current);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 9 warnings (5 in non-user code, 4 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.
3 warnings generated.
Suppressed 3 warnings (3 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.
3 warnings generated.
Suppressed 3 warnings (3 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.
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.
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.
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.
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.
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.
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.
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.
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.
13 warnings generated.
mm/debug_vm_pgtable.c:80:8: warning: Value stored to 'pte' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
pte_t pte = pfn_pte(pfn, prot);
^~~ ~~~~~~~~~~~~~~~~~~
mm/debug_vm_pgtable.c:80:8: note: Value stored to 'pte' during its initialization is never read
pte_t pte = pfn_pte(pfn, prot);
^~~ ~~~~~~~~~~~~~~~~~~
mm/debug_vm_pgtable.c:121:8: warning: Value stored to 'pte' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
pte_t pte = pfn_pte(pfn, prot);
^~~ ~~~~~~~~~~~~~~~~~~
mm/debug_vm_pgtable.c:121:8: note: Value stored to 'pte' during its initialization is never read
pte_t pte = pfn_pte(pfn, prot);
^~~ ~~~~~~~~~~~~~~~~~~
mm/debug_vm_pgtable.c:159:8: warning: Value stored to 'pmd' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
pmd_t pmd = pfn_pmd(pfn, prot);
^~~ ~~~~~~~~~~~~~~~~~~
mm/debug_vm_pgtable.c:159:8: note: Value stored to 'pmd' during its initialization is never read
pmd_t pmd = pfn_pmd(pfn, prot);
^~~ ~~~~~~~~~~~~~~~~~~
mm/debug_vm_pgtable.c:201:2: warning: Value stored to 'pgtable' is never read [clang-analyzer-deadcode.DeadStores]
pgtable = pgtable_trans_huge_withdraw(mm, pmdp);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/debug_vm_pgtable.c:201:2: note: Value stored to 'pgtable' is never read
pgtable = pgtable_trans_huge_withdraw(mm, pmdp);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/debug_vm_pgtable.c:241:8: warning: Value stored to 'pmd' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
pmd_t pmd = pfn_pmd(pfn, prot);
^~~ ~~~~~~~~~~~~~~~~~~
mm/debug_vm_pgtable.c:241:8: note: Value stored to 'pmd' during its initialization is never read
pmd_t pmd = pfn_pmd(pfn, prot);
^~~ ~~~~~~~~~~~~~~~~~~
mm/debug_vm_pgtable.c:599:8: warning: Value stored to 'pte' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
pte_t pte = pfn_pte(pfn, prot);
^~~ ~~~~~~~~~~~~~~~~~~
mm/debug_vm_pgtable.c:599:8: note: Value stored to 'pte' during its initialization is never read
pte_t pte = pfn_pte(pfn, prot);
^~~ ~~~~~~~~~~~~~~~~~~
mm/debug_vm_pgtable.c:612:8: warning: Value stored to 'pmd' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
vim +/rq +3736 kernel/sched/core.c
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 3717
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 3718 /**
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 3719 * schedule_tail - first thing a freshly forked thread must call.
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 3720 * @prev: the thread we just switched away from.
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 3721 */
722a9f9299ca72 kernel/sched/core.c Andi Kleen 2014-05-02 3722 asmlinkage __visible void schedule_tail(struct task_struct *prev)
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 3723 __releases(rq->lock)
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 3724 {
1a43a14a5bd9c3 kernel/sched/core.c Oleg Nesterov 2014-10-08 3725 struct rq *rq;
da19ab510343c6 kernel/sched.c Steven Rostedt 2009-07-29 3726
609ca066386b2e kernel/sched/core.c Peter Zijlstra 2015-09-28 3727 /*
609ca066386b2e kernel/sched/core.c Peter Zijlstra 2015-09-28 3728 * New tasks start with FORK_PREEMPT_COUNT, see there and
609ca066386b2e kernel/sched/core.c Peter Zijlstra 2015-09-28 3729 * finish_task_switch() for details.
609ca066386b2e kernel/sched/core.c Peter Zijlstra 2015-09-28 3730 *
609ca066386b2e kernel/sched/core.c Peter Zijlstra 2015-09-28 3731 * finish_task_switch() will drop rq->lock() and lower preempt_count
609ca066386b2e kernel/sched/core.c Peter Zijlstra 2015-09-28 3732 * and the preempt_enable() will end up enabling preemption (on
609ca066386b2e kernel/sched/core.c Peter Zijlstra 2015-09-28 3733 * PREEMPT_COUNT kernels).
609ca066386b2e kernel/sched/core.c Peter Zijlstra 2015-09-28 3734 */
609ca066386b2e kernel/sched/core.c Peter Zijlstra 2015-09-28 3735
dfa50b605c2a93 kernel/sched/core.c Oleg Nesterov 2014-10-09 @3736 rq = finish_task_switch(prev);
1a43a14a5bd9c3 kernel/sched/core.c Oleg Nesterov 2014-10-08 3737 preempt_enable();
70b97a7f0b19cf kernel/sched.c Ingo Molnar 2006-07-03 3738
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 3739 if (current->set_child_tid)
b488893a390edf kernel/sched.c Pavel Emelyanov 2007-10-18 3740 put_user(task_pid_vnr(current), current->set_child_tid);
088fe47ce95254 kernel/sched/core.c Eric W. Biederman 2018-07-23 3741
088fe47ce95254 kernel/sched/core.c Eric W. Biederman 2018-07-23 3742 calculate_sigpending();
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 3743 }
^1da177e4c3f41 kernel/sched.c Linus Torvalds 2005-04-16 3744
:::::: The code at line 3736 was first introduced by commit
:::::: dfa50b605c2a933b7bb1c1d575a0da4e897e3c7d sched: Make finish_task_switch() return 'struct rq *'
:::::: TO: Oleg Nesterov <oleg(a)redhat.com>
:::::: CC: Ingo Molnar <mingo(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
arch/arc/mm/dma.c:30 arch_dma_prep_coherent() warn: should '((page - mem_map) + arch_pfn_offset) << 13' be a 64 bit type?
by kernel test robot
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Mike Rapoport <rppt(a)linux.ibm.com>
CC: Andrew Morton <akpm(a)linux-foundation.org>
CC: Linux Memory Management List <linux-mm(a)kvack.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0513e464f9007b70b96740271a948ca5ab6e7dd7
commit: 050b2da268f8fc4f8123f6462c430a61547b2f7b arc: use FLATMEM with freeing of unused memory map instead of DISCONTIGMEM
date: 10 months ago
:::::: branch date: 18 hours ago
:::::: commit date: 10 months ago
config: arc-randconfig-m031-20210928 (attached as .config)
compiler: arc-elf-gcc (GCC) 11.2.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
arch/arc/mm/dma.c:30 arch_dma_prep_coherent() warn: should '((page - mem_map) + arch_pfn_offset) << 13' be a 64 bit type?
kernel/dma/direct.c:90 __dma_direct_alloc_pages() warn: should '((page - mem_map) + arch_pfn_offset) << 13' be a 64 bit type?
kernel/dma/direct.c:129 dma_direct_alloc_from_pool() warn: should '((page - mem_map) + arch_pfn_offset) << 13' be a 64 bit type?
kernel/dma/direct.c:152 dma_direct_alloc() warn: should '((page - mem_map) + arch_pfn_offset) << 13' be a 64 bit type?
kernel/dma/direct.c:310 dma_direct_alloc_pages() warn: should '((page - mem_map) + arch_pfn_offset) << 13' be a 64 bit type?
kernel/dma/pool.c:123 atomic_pool_expand() warn: should '((page - mem_map) + arch_pfn_offset) << 13' be a 64 bit type?
Old smatch warnings:
arch/arc/include/asm/thread_info.h:65 current_thread_info() error: uninitialized symbol 'sp'.
arch/arc/include/asm/thread_info.h:65 current_thread_info() error: uninitialized symbol 'sp'.
vim +30 arch/arc/mm/dma.c
1162b0701b14ba Vineet Gupta 2013-01-18 9
2820a708d5a321 Eugeniy Paltsev 2018-07-30 10 /*
f73c9045343931 Christoph Hellwig 2019-06-14 11 * ARCH specific callbacks for generic noncoherent DMA ops
2820a708d5a321 Eugeniy Paltsev 2018-07-30 12 * - hardware IOC not available (or "dma-coherent" not set for device in DT)
2820a708d5a321 Eugeniy Paltsev 2018-07-30 13 * - But still handle both coherent and non-coherent requests from caller
2820a708d5a321 Eugeniy Paltsev 2018-07-30 14 *
2820a708d5a321 Eugeniy Paltsev 2018-07-30 15 * For DMA coherent hardware (IOC) generic code suffices
2820a708d5a321 Eugeniy Paltsev 2018-07-30 16 */
1162b0701b14ba Vineet Gupta 2013-01-18 17
f73c9045343931 Christoph Hellwig 2019-06-14 18 void arch_dma_prep_coherent(struct page *page, size_t size)
f73c9045343931 Christoph Hellwig 2019-06-14 19 {
795f4558562fd5 Vineet Gupta 2015-04-03 20 /*
795f4558562fd5 Vineet Gupta 2015-04-03 21 * Evict any existing L1 and/or L2 lines for the backing page
795f4558562fd5 Vineet Gupta 2015-04-03 22 * in case it was used earlier as a normal "cached" page.
795f4558562fd5 Vineet Gupta 2015-04-03 23 * Yeah this bit us - STAR 9000898266
795f4558562fd5 Vineet Gupta 2015-04-03 24 *
795f4558562fd5 Vineet Gupta 2015-04-03 25 * Although core does call flush_cache_vmap(), it gets kvaddr hence
795f4558562fd5 Vineet Gupta 2015-04-03 26 * can't be used to efficiently flush L1 and/or L2 which need paddr
795f4558562fd5 Vineet Gupta 2015-04-03 27 * Currently flush_cache_vmap nukes the L1 cache completely which
795f4558562fd5 Vineet Gupta 2015-04-03 28 * will be optimized as a separate commit
795f4558562fd5 Vineet Gupta 2015-04-03 29 */
f73c9045343931 Christoph Hellwig 2019-06-14 @30 dma_cache_wback_inv(page_to_phys(page), size);
a79a812131b072 Alexey Brodkin 2016-11-03 31 }
a79a812131b072 Alexey Brodkin 2016-11-03 32
:::::: The code at line 30 was first introduced by commit
:::::: f73c904534393133e7ddbbe5c36bb007f9c2fb7f arc: use the generic remapping allocator for coherent DMA allocations
:::::: TO: Christoph Hellwig <hch(a)lst.de>
:::::: CC: Christoph Hellwig <hch(a)lst.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
drivers/hwmon/nct7802.c:714 nct7802_temp_is_visible() warn: compare has higher precedence than mask
by kernel test robot
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Oskar Senft <osk(a)google.com>
CC: 0day robot <lkp(a)intel.com>
tree: https://github.com/0day-ci/linux/commits/Oskar-Senft/dt-bindings-hwmon-Ad...
head: 0654ba359c66a776f243b53f407f200f9e53a9ba
commit: 0654ba359c66a776f243b53f407f200f9e53a9ba hwmon: (nct7802) Make temperature sensors configurable.
date: 6 days ago
:::::: branch date: 6 days ago
:::::: commit date: 6 days ago
config: i386-randconfig-m021-20210927 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/hwmon/nct7802.c:714 nct7802_temp_is_visible() warn: compare has higher precedence than mask
drivers/hwmon/nct7802.c:714 nct7802_temp_is_visible() warn: add some parenthesis here?
drivers/hwmon/nct7802.c:1136 nct7802_configure_temperature_sensors_from_device_tree() error: uninitialized symbol 'type'.
vim +714 drivers/hwmon/nct7802.c
3434f378358043 Guenter Roeck 2014-06-29 695
3434f378358043 Guenter Roeck 2014-06-29 696 static umode_t nct7802_temp_is_visible(struct kobject *kobj,
3434f378358043 Guenter Roeck 2014-06-29 697 struct attribute *attr, int index)
3434f378358043 Guenter Roeck 2014-06-29 698 {
d06f9e6c8960d1 hailizheng 2020-05-19 699 struct device *dev = kobj_to_dev(kobj);
3434f378358043 Guenter Roeck 2014-06-29 700 struct nct7802_data *data = dev_get_drvdata(dev);
3434f378358043 Guenter Roeck 2014-06-29 701 unsigned int reg;
3434f378358043 Guenter Roeck 2014-06-29 702 int err;
3434f378358043 Guenter Roeck 2014-06-29 703
3434f378358043 Guenter Roeck 2014-06-29 704 err = regmap_read(data->regmap, REG_MODE, ®);
3434f378358043 Guenter Roeck 2014-06-29 705 if (err < 0)
3434f378358043 Guenter Roeck 2014-06-29 706 return 0;
3434f378358043 Guenter Roeck 2014-06-29 707
0654ba359c66a7 Oskar Senft 2021-09-20 708 if (index >= 0 && index < 20 && /* RD1, RD 2*/
0654ba359c66a7 Oskar Senft 2021-09-20 709 ((reg >> MODE_BIT_OFFSET_RTD(index / 10)) & MODE_RTD_MASK) != 0x01 &&
0654ba359c66a7 Oskar Senft 2021-09-20 710 ((reg >> MODE_BIT_OFFSET_RTD(index / 10)) & MODE_RTD_MASK) != 0x02)
3434f378358043 Guenter Roeck 2014-06-29 711 return 0;
fcdc5739dce03d Constantine Shulyupin 2015-07-01 712
0654ba359c66a7 Oskar Senft 2021-09-20 713 if (index >= 20 && index < 30 && /* RD3 */
0654ba359c66a7 Oskar Senft 2021-09-20 @714 (reg >> MODE_BIT_OFFSET_RTD(index / 10) & MODE_RTD_MASK != 0x02))
3434f378358043 Guenter Roeck 2014-06-29 715 return 0;
fcdc5739dce03d Constantine Shulyupin 2015-07-01 716
0654ba359c66a7 Oskar Senft 2021-09-20 717 if (index >= 30 && index < 38 && /* local */
0654ba359c66a7 Oskar Senft 2021-09-20 718 (reg & MODE_LTD_EN) != MODE_LTD_EN)
0654ba359c66a7 Oskar Senft 2021-09-20 719 return 0;
3434f378358043 Guenter Roeck 2014-06-29 720
3434f378358043 Guenter Roeck 2014-06-29 721 err = regmap_read(data->regmap, REG_PECI_ENABLE, ®);
3434f378358043 Guenter Roeck 2014-06-29 722 if (err < 0)
3434f378358043 Guenter Roeck 2014-06-29 723 return 0;
3434f378358043 Guenter Roeck 2014-06-29 724
fcdc5739dce03d Constantine Shulyupin 2015-07-01 725 if (index >= 38 && index < 46 && !(reg & 0x01)) /* PECI 0 */
3434f378358043 Guenter Roeck 2014-06-29 726 return 0;
3434f378358043 Guenter Roeck 2014-06-29 727
fcdc5739dce03d Constantine Shulyupin 2015-07-01 728 if (index >= 0x46 && (!(reg & 0x02))) /* PECI 1 */
3434f378358043 Guenter Roeck 2014-06-29 729 return 0;
3434f378358043 Guenter Roeck 2014-06-29 730
3434f378358043 Guenter Roeck 2014-06-29 731 return attr->mode;
3434f378358043 Guenter Roeck 2014-06-29 732 }
3434f378358043 Guenter Roeck 2014-06-29 733
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
drivers/gpu/drm/i915/display/intel_fb.c:244:34: warning: Division by zero [clang-analyzer-core.DivideZero]
by kernel test robot
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Imre Deak <imre.deak(a)intel.com>
CC: "Ville Syrjälä" <ville.syrjala(a)linux.intel.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0513e464f9007b70b96740271a948ca5ab6e7dd7
commit: 435b3e7ed708715b048ec5d08edcec4876e3eb57 drm/i915/intel_fb: Factor out calc_plane_aligned_offset()
date: 6 months ago
:::::: branch date: 15 hours ago
:::::: commit date: 6 months ago
config: i386-randconfig-c001-20210927 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dc6e8dfdfe7efecfda318d43a06fae18b40eb498)
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...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 435b3e7ed708715b048ec5d08edcec4876e3eb57
# save the attached .config 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(a)intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/mac80211/rx.c:3903:2: note: Taking false branch
if (received_mpdus >= IEEE80211_SN_MODULO >> 1) {
^
net/mac80211/rx.c:3914:3: note: Calling 'ieee80211_release_reorder_frames'
ieee80211_release_reorder_frames(sta->sdata, tid_agg_rx, ssn,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/mac80211/rx.c:1140:2: note: Assuming 'debug_locks' is 0
lockdep_assert_held(&tid_agg_rx->reorder_lock);
^
include/linux/lockdep.h:305:11: note: expanded from macro 'lockdep_assert_held'
WARN_ON(debug_locks && !lockdep_is_held(l)); \
^~~~~~~~~~~
include/asm-generic/bug.h:119:25: note: expanded from macro 'WARN_ON'
int __ret_warn_on = !!(condition); \
^~~~~~~~~
net/mac80211/rx.c:1140:2: note: Left side of '&&' is false
lockdep_assert_held(&tid_agg_rx->reorder_lock);
^
include/linux/lockdep.h:305:23: note: expanded from macro 'lockdep_assert_held'
WARN_ON(debug_locks && !lockdep_is_held(l)); \
^
net/mac80211/rx.c:1140:2: note: Taking false branch
lockdep_assert_held(&tid_agg_rx->reorder_lock);
^
include/linux/lockdep.h:305:3: note: expanded from macro 'lockdep_assert_held'
WARN_ON(debug_locks && !lockdep_is_held(l)); \
^
include/asm-generic/bug.h:120:2: note: expanded from macro 'WARN_ON'
if (unlikely(__ret_warn_on)) \
^
net/mac80211/rx.c:1140:2: note: Loop condition is false. Exiting loop
lockdep_assert_held(&tid_agg_rx->reorder_lock);
^
include/linux/lockdep.h:304:32: note: expanded from macro 'lockdep_assert_held'
#define lockdep_assert_held(l) do { \
^
net/mac80211/rx.c:1142:2: note: Loop condition is false. Execution continues on line 1142
while (ieee80211_sn_less(tid_agg_rx->head_seq_num, head_seq_num)) {
^
net/mac80211/rx.c:1147:1: note: Returning without writing to 'tid_agg_rx->buf_size'
}
^
net/mac80211/rx.c:3914:3: note: Returning from 'ieee80211_release_reorder_frames'
ieee80211_release_reorder_frames(sta->sdata, tid_agg_rx, ssn,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/mac80211/rx.c:3921:6: note: Assuming 'diff' is < field 'buf_size'
if (diff >= tid_agg_rx->buf_size) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/mac80211/rx.c:3921:2: note: Taking false branch
if (diff >= tid_agg_rx->buf_size) {
^
net/mac80211/rx.c:3929:14: note: Assuming 'i' is >= field 'buf_size'
for (i = 0; i < tid_agg_rx->buf_size; i++) {
^~~~~~~~~~~~~~~~~~~~~~~~
net/mac80211/rx.c:3929:2: note: Loop condition is false. Execution continues on line 3938
for (i = 0; i < tid_agg_rx->buf_size; i++) {
^
net/mac80211/rx.c:3938:2: note: Calling 'ieee80211_sta_reorder_release'
ieee80211_sta_reorder_release(sta->sdata, tid_agg_rx, &frames);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/mac80211/rx.c:1166:2: note: 'debug_locks' is 0
lockdep_assert_held(&tid_agg_rx->reorder_lock);
^
include/linux/lockdep.h:305:11: note: expanded from macro 'lockdep_assert_held'
WARN_ON(debug_locks && !lockdep_is_held(l)); \
^~~~~~~~~~~
include/asm-generic/bug.h:119:25: note: expanded from macro 'WARN_ON'
int __ret_warn_on = !!(condition); \
^~~~~~~~~
net/mac80211/rx.c:1166:2: note: Left side of '&&' is false
lockdep_assert_held(&tid_agg_rx->reorder_lock);
^
include/linux/lockdep.h:305:23: note: expanded from macro 'lockdep_assert_held'
WARN_ON(debug_locks && !lockdep_is_held(l)); \
^
net/mac80211/rx.c:1166:2: note: Taking false branch
lockdep_assert_held(&tid_agg_rx->reorder_lock);
^
include/linux/lockdep.h:305:3: note: expanded from macro 'lockdep_assert_held'
WARN_ON(debug_locks && !lockdep_is_held(l)); \
^
include/asm-generic/bug.h:120:2: note: expanded from macro 'WARN_ON'
if (unlikely(__ret_warn_on)) \
^
net/mac80211/rx.c:1166:2: note: Loop condition is false. Exiting loop
lockdep_assert_held(&tid_agg_rx->reorder_lock);
^
include/linux/lockdep.h:304:32: note: expanded from macro 'lockdep_assert_held'
#define lockdep_assert_held(l) do { \
^
net/mac80211/rx.c:1169:35: note: Division by zero
index = tid_agg_rx->head_seq_num % tid_agg_rx->buf_size;
~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
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.
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/gpu/drm/i915/display/intel_fb.c:244:34: warning: Division by zero [clang-analyzer-core.DivideZero]
*y = (old_offset - new_offset) / pitch;
^
drivers/gpu/drm/i915/display/intel_fb.c:637:39: note: Left side of '&&' is false
struct intel_framebuffer *intel_fb = to_intel_framebuffer(fb);
^
drivers/gpu/drm/i915/display/intel_display_types.h:1353:33: note: expanded from macro 'to_intel_framebuffer'
#define to_intel_framebuffer(x) container_of(x, struct intel_framebuffer, base)
^
include/linux/kernel.h:709:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/gpu/drm/i915/display/intel_fb.c:637:39: note: Taking false branch
struct intel_framebuffer *intel_fb = to_intel_framebuffer(fb);
^
drivers/gpu/drm/i915/display/intel_display_types.h:1353:33: note: expanded from macro 'to_intel_framebuffer'
#define to_intel_framebuffer(x) container_of(x, struct intel_framebuffer, base)
^
include/linux/kernel.h:709: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:320:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:308:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:300:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/gpu/drm/i915/display/intel_fb.c:637:39: note: Loop condition is false. Exiting loop
struct intel_framebuffer *intel_fb = to_intel_framebuffer(fb);
^
drivers/gpu/drm/i915/display/intel_display_types.h:1353:33: note: expanded from macro 'to_intel_framebuffer'
#define to_intel_framebuffer(x) container_of(x, struct intel_framebuffer, base)
^
include/linux/kernel.h:709: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:320:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:308:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:298:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/gpu/drm/i915/display/intel_fb.c:638:36: note: Assuming 'fb' is non-null
struct drm_i915_gem_object *obj = intel_fb_obj(fb);
^
drivers/gpu/drm/i915/display/intel_display_types.h:1356:26: note: expanded from macro 'intel_fb_obj'
#define intel_fb_obj(x) ((x) ? to_intel_bo((x)->obj[0]) : NULL)
^~~
drivers/gpu/drm/i915/display/intel_fb.c:638:36: note: '?' condition is true
struct drm_i915_gem_object *obj = intel_fb_obj(fb);
^
drivers/gpu/drm/i915/display/intel_display_types.h:1356:26: note: expanded from macro 'intel_fb_obj'
#define intel_fb_obj(x) ((x) ? to_intel_bo((x)->obj[0]) : NULL)
^
drivers/gpu/drm/i915/display/intel_fb.c:644:14: note: Assuming 'i' is < 'num_planes'
for (i = 0; i < num_planes; i++) {
^~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_fb.c:644:2: note: Loop condition is true. Entering loop body
for (i = 0; i < num_planes; i++) {
^
drivers/gpu/drm/i915/display/intel_fb.c:656:7: note: Calling 'is_gen12_ccs_cc_plane'
if (is_gen12_ccs_cc_plane(fb, i)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_fb.c:27:9: note: Assuming the condition is false
return fb->modifier == I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC &&
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_fb.c:27:65: note: Left side of '&&' is false
return fb->modifier == I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC &&
^
drivers/gpu/drm/i915/display/intel_fb.c:27:2: note: Returning zero, which participates in a condition later
return fb->modifier == I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC &&
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_fb.c:656:7: note: Returning from 'is_gen12_ccs_cc_plane'
if (is_gen12_ccs_cc_plane(fb, i)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_fb.c:656:3: note: Taking false branch
if (is_gen12_ccs_cc_plane(fb, i)) {
^
drivers/gpu/drm/i915/display/intel_fb.c:666:9: note: Calling 'convert_plane_offset_to_xy'
ret = convert_plane_offset_to_xy(intel_fb, i, width, &x, &y);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/display/intel_fb.c:526:36: note: '?' condition is true
struct drm_i915_gem_object *obj = intel_fb_obj(&fb->base);
^
drivers/gpu/drm/i915/display/intel_display_types.h:1356:26: note: expanded from macro 'intel_fb_obj'
#define intel_fb_obj(x) ((x) ? to_intel_bo((x)->obj[0]) : NULL)
^
drivers/gpu/drm/i915/display/intel_fb.c:529:8: note: Calling 'intel_fb_offset_to_xy'
ret = intel_fb_offset_to_xy(x, y, &fb->base, color_plane);
vim +244 drivers/gpu/drm/i915/display/intel_fb.c
3cee6269385cf9 Imre Deak 2021-03-25 211
3cee6269385cf9 Imre Deak 2021-03-25 212 static u32 intel_adjust_aligned_offset(int *x, int *y,
3cee6269385cf9 Imre Deak 2021-03-25 213 const struct drm_framebuffer *fb,
3cee6269385cf9 Imre Deak 2021-03-25 214 int color_plane,
3cee6269385cf9 Imre Deak 2021-03-25 215 unsigned int rotation,
3cee6269385cf9 Imre Deak 2021-03-25 216 unsigned int pitch,
3cee6269385cf9 Imre Deak 2021-03-25 217 u32 old_offset, u32 new_offset)
3cee6269385cf9 Imre Deak 2021-03-25 218 {
90df088469d531 Imre Deak 2021-03-25 219 struct drm_i915_private *i915 = to_i915(fb->dev);
3cee6269385cf9 Imre Deak 2021-03-25 220 unsigned int cpp = fb->format->cpp[color_plane];
3cee6269385cf9 Imre Deak 2021-03-25 221
90df088469d531 Imre Deak 2021-03-25 222 drm_WARN_ON(&i915->drm, new_offset > old_offset);
3cee6269385cf9 Imre Deak 2021-03-25 223
3cee6269385cf9 Imre Deak 2021-03-25 224 if (!is_surface_linear(fb, color_plane)) {
3cee6269385cf9 Imre Deak 2021-03-25 225 unsigned int tile_size, tile_width, tile_height;
3cee6269385cf9 Imre Deak 2021-03-25 226 unsigned int pitch_tiles;
3cee6269385cf9 Imre Deak 2021-03-25 227
90df088469d531 Imre Deak 2021-03-25 228 tile_size = intel_tile_size(i915);
3cee6269385cf9 Imre Deak 2021-03-25 229 intel_tile_dims(fb, color_plane, &tile_width, &tile_height);
3cee6269385cf9 Imre Deak 2021-03-25 230
3cee6269385cf9 Imre Deak 2021-03-25 231 if (drm_rotation_90_or_270(rotation)) {
3cee6269385cf9 Imre Deak 2021-03-25 232 pitch_tiles = pitch / tile_height;
3cee6269385cf9 Imre Deak 2021-03-25 233 swap(tile_width, tile_height);
3cee6269385cf9 Imre Deak 2021-03-25 234 } else {
3cee6269385cf9 Imre Deak 2021-03-25 235 pitch_tiles = pitch / (tile_width * cpp);
3cee6269385cf9 Imre Deak 2021-03-25 236 }
3cee6269385cf9 Imre Deak 2021-03-25 237
3cee6269385cf9 Imre Deak 2021-03-25 238 intel_adjust_tile_offset(x, y, tile_width, tile_height,
3cee6269385cf9 Imre Deak 2021-03-25 239 tile_size, pitch_tiles,
3cee6269385cf9 Imre Deak 2021-03-25 240 old_offset, new_offset);
3cee6269385cf9 Imre Deak 2021-03-25 241 } else {
3cee6269385cf9 Imre Deak 2021-03-25 242 old_offset += *y * pitch + *x * cpp;
3cee6269385cf9 Imre Deak 2021-03-25 243
3cee6269385cf9 Imre Deak 2021-03-25 @244 *y = (old_offset - new_offset) / pitch;
3cee6269385cf9 Imre Deak 2021-03-25 245 *x = ((old_offset - new_offset) - *y * pitch) / cpp;
3cee6269385cf9 Imre Deak 2021-03-25 246 }
3cee6269385cf9 Imre Deak 2021-03-25 247
3cee6269385cf9 Imre Deak 2021-03-25 248 return new_offset;
3cee6269385cf9 Imre Deak 2021-03-25 249 }
3cee6269385cf9 Imre Deak 2021-03-25 250
:::::: The code at line 244 was first introduced by commit
:::::: 3cee6269385cf91a588fdb531293cdf8a8b4ac53 drm/i915/intel_fb: Pull FB plane functions from intel_display.c
:::::: TO: Imre Deak <imre.deak(a)intel.com>
:::::: CC: Imre Deak <imre.deak(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
drivers/gpu/drm/nouveau/nouveau_bo.c:1327:2: warning: Value stored to 'dev' is never read [clang-analyzer-deadcode.DeadStores]
by kernel test robot
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
CC: Daniel Vetter <daniel.vetter(a)ffwll.ch>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0513e464f9007b70b96740271a948ca5ab6e7dd7
commit: 512bce50a41c528fa15c4c014293e7bebf018658 Merge v5.10-rc3 into drm-next
date: 11 months ago
:::::: branch date: 14 hours ago
:::::: commit date: 11 months ago
config: riscv-randconfig-c006-20210927 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dc6e8dfdfe7efecfda318d43a06fae18b40eb498)
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/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 512bce50a41c528fa15c4c014293e7bebf018658
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
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.
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.
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.
6 warnings generated.
drivers/leds/leds-pwm.c:111:15: warning: Access to field 'name' results in a dereference of a null pointer [clang-analyzer-core.NullDereference]
led.name = to_of_node(fwnode)->name;
^
include/linux/of.h:161:2: note: expanded from macro 'to_of_node'
({ \
^
drivers/leds/leds-pwm.c:141:6: note: Assuming 'count' is not equal to 0
if (!count)
^~~~~~
drivers/leds/leds-pwm.c:141:2: note: Taking false branch
if (!count)
^
drivers/leds/leds-pwm.c:146:6: note: Assuming 'priv' is non-null
if (!priv)
^~~~~
drivers/leds/leds-pwm.c:146:2: note: Taking false branch
if (!priv)
^
drivers/leds/leds-pwm.c:149:8: note: Calling 'led_pwm_create_fwnode'
ret = led_pwm_create_fwnode(&pdev->dev, priv);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/leds/leds-pwm.c:108:2: note: Loop condition is true. Entering loop body
device_for_each_child_node(dev, fwnode) {
^
include/linux/property.h:108:2: note: expanded from macro 'device_for_each_child_node'
for (child = device_get_next_child_node(dev, NULL); child; \
^
drivers/leds/leds-pwm.c:110:7: note: Assuming 'ret' is not equal to 0
if (ret && is_of_node(fwnode))
^~~
drivers/leds/leds-pwm.c:110:7: note: Left side of '&&' is true
drivers/leds/leds-pwm.c:110:14: note: Assuming the condition is true
if (ret && is_of_node(fwnode))
^~~~~~~~~~~~~~~~~~
drivers/leds/leds-pwm.c:110:3: note: Taking true branch
if (ret && is_of_node(fwnode))
^
drivers/leds/leds-pwm.c:111:15: note: Assuming the condition is false
led.name = to_of_node(fwnode)->name;
^
include/linux/of.h:164:3: note: expanded from macro 'to_of_node'
is_of_node(__to_of_node_fwnode) ? \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/leds/leds-pwm.c:111:15: note: '?' condition is false
led.name = to_of_node(fwnode)->name;
^
include/linux/of.h:164:3: note: expanded from macro 'to_of_node'
is_of_node(__to_of_node_fwnode) ? \
^
drivers/leds/leds-pwm.c:111:15: note: Access to field 'name' results in a dereference of a null pointer
led.name = to_of_node(fwnode)->name;
^
include/linux/of.h:161:2: note: expanded from macro 'to_of_node'
({ \
^
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.
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.
13 warnings generated.
drivers/gpu/drm/nouveau/nouveau_bo.c:1228:10: warning: The left operand of '==' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
if (ret == -ENOSPC) {
~~~ ^
drivers/gpu/drm/nouveau/nouveau_bo.c:1146:2: note: 'ret' declared without an initial value
int ret;
^~~~~~~
drivers/gpu/drm/nouveau/nouveau_bo.c:1150:2: note: Control jumps to 'case 2:' at line 1171
switch (reg->mem_type) {
^
drivers/gpu/drm/nouveau/nouveau_bo.c:1177:7: note: Assuming field 'family' is < NV_DEVICE_INFO_V0_TESLA
if (drm->client.device.info.family >= NV_DEVICE_INFO_V0_TESLA &&
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/nouveau/nouveau_bo.c:1177:65: note: Left side of '&&' is false
if (drm->client.device.info.family >= NV_DEVICE_INFO_V0_TESLA &&
^
drivers/gpu/drm/nouveau/nouveau_bo.c:1183:7: note: Assuming field 'oclass' is < NVIF_CLASS_MEM_NV50
if (drm->client.mem->oclass >= NVIF_CLASS_MEM_NV50) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/nouveau/nouveau_bo.c:1183:3: note: Taking false branch
if (drm->client.mem->oclass >= NVIF_CLASS_MEM_NV50) {
^
drivers/gpu/drm/nouveau/nouveau_bo.c:1222:3: note: Execution continues on line 1228
break;
^
drivers/gpu/drm/nouveau/nouveau_bo.c:1228:10: note: The left operand of '==' is a garbage value
if (ret == -ENOSPC) {
~~~ ^
>> drivers/gpu/drm/nouveau/nouveau_bo.c:1327:2: warning: Value stored to 'dev' is never read [clang-analyzer-deadcode.DeadStores]
dev = drm->dev->dev;
^ ~~~~~~~~~~~~~
drivers/gpu/drm/nouveau/nouveau_bo.c:1327:2: note: Value stored to 'dev' is never read
dev = drm->dev->dev;
^ ~~~~~~~~~~~~~
drivers/gpu/drm/nouveau/nouveau_bo.c:1344:2: warning: Value stored to 'dev' is never read [clang-analyzer-deadcode.DeadStores]
dev = drm->dev->dev;
^ ~~~~~~~~~~~~~
drivers/gpu/drm/nouveau/nouveau_bo.c:1344:2: note: Value stored to 'dev' is never read
dev = drm->dev->dev;
^ ~~~~~~~~~~~~~
Suppressed 10 warnings (8 in non-user code, 2 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.
9 warnings generated.
drivers/gpu/drm/nouveau/nouveau_bo0039.c:55:6: warning: Value stored to 'page_count' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
u32 page_count = new_reg->num_pages;
^~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/nouveau/nouveau_bo0039.c:55:6: note: Value stored to 'page_count' during its initialization is never read
u32 page_count = new_reg->num_pages;
^~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
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.
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.
include/linux/list.h:135:13: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc]
__list_del(entry->prev, entry->next);
^
drivers/media/cec/core/cec-api.c:637:29: note: Left side of '&&' is false
struct cec_adapter *adap = to_cec_adapter(devnode);
^
drivers/media/cec/core/cec-priv.h:21:30: note: expanded from macro 'to_cec_adapter'
#define to_cec_adapter(node) container_of(node, struct cec_adapter, devnode)
^
include/linux/kernel.h:853:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/media/cec/core/cec-api.c:637:29: note: Taking false branch
struct cec_adapter *adap = to_cec_adapter(devnode);
^
drivers/media/cec/core/cec-priv.h:21:30: note: expanded from macro 'to_cec_adapter'
#define to_cec_adapter(node) container_of(node, struct cec_adapter, devnode)
^
include/linux/kernel.h:853: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:319:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:307:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:299:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/media/cec/core/cec-api.c:637:29: note: Loop condition is false. Exiting loop
struct cec_adapter *adap = to_cec_adapter(devnode);
^
drivers/media/cec/core/cec-priv.h:21:30: note: expanded from macro 'to_cec_adapter'
#define to_cec_adapter(node) container_of(node, struct cec_adapter, devnode)
^
include/linux/kernel.h:853: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:319:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:307:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:297:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/media/cec/core/cec-api.c:642:6: note: Assuming 'fh' is equal to field 'cec_initiator'
if (adap->cec_initiator == fh)
^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/cec/core/cec-api.c:642:2: note: Taking true branch
if (adap->cec_initiator == fh)
^
drivers/media/cec/core/cec-api.c:644:6: note: Assuming 'fh' is equal to field 'cec_follower'
if (adap->cec_follower == fh) {
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/cec/core/cec-api.c:644:2: note: Taking true branch
if (adap->cec_follower == fh) {
^
drivers/media/cec/core/cec-api.c:648:6: note: Assuming the condition is false
if (fh->mode_follower == CEC_MODE_FOLLOWER)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/cec/core/cec-api.c:648:2: note: Taking false branch
if (fh->mode_follower == CEC_MODE_FOLLOWER)
--
include/linux/compiler_types.h:297:2: note: expanded from macro '__compiletime_assert'
do { \
^
fs/ubifs/super.c:1176:3: note: Calling 'list_del'
list_del(&ucleb->list);
^~~~~~~~~~~~~~~~~~~~~~
include/linux/list.h:146:2: note: Calling '__list_del_entry'
__list_del_entry(entry);
^~~~~~~~~~~~~~~~~~~~~~~
include/linux/list.h:132:2: note: Taking false branch
if (!__list_del_entry_valid(entry))
^
include/linux/list.h:135:13: note: Use of memory after it is freed
__list_del(entry->prev, entry->next);
^~~~~~~~~~~
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.
drivers/clocksource/timer-of.c:191:3: warning: Value stored to 'flags' is never read [clang-analyzer-deadcode.DeadStores]
flags |= TIMER_OF_IRQ;
^
drivers/clocksource/timer-of.c:191:3: note: Value stored to 'flags' is never read
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.
4 warnings generated.
Suppressed 4 warnings (4 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.
4 warnings generated.
Suppressed 4 warnings (4 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.
62 warnings generated.
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:734:3: warning: Value stored to 'fPowerDPMx' is never read [clang-analyzer-deadcode.DeadStores]
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm1));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:734:3: note: Value stored to 'fPowerDPMx' is never read
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm1));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:738:3: warning: Value stored to 'fPowerDPMx' is never read [clang-analyzer-deadcode.DeadStores]
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm2));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:738:3: note: Value stored to 'fPowerDPMx' is never read
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm2));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:742:3: warning: Value stored to 'fPowerDPMx' is never read [clang-analyzer-deadcode.DeadStores]
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm3));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:742:3: note: Value stored to 'fPowerDPMx' is never read
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm3));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:746:3: warning: Value stored to 'fPowerDPMx' is never read [clang-analyzer-deadcode.DeadStores]
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm4));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:746:3: note: Value stored to 'fPowerDPMx' is never read
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm4));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:750:3: warning: Value stored to 'fPowerDPMx' is never read [clang-analyzer-deadcode.DeadStores]
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm5));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:750:3: note: Value stored to 'fPowerDPMx' is never read
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm5));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:754:3: warning: Value stored to 'fPowerDPMx' is never read [clang-analyzer-deadcode.DeadStores]
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm6));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:754:3: note: Value stored to 'fPowerDPMx' is never read
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm6));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:758:3: warning: Value stored to 'fPowerDPMx' is never read [clang-analyzer-deadcode.DeadStores]
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm7));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:758:3: note: Value stored to 'fPowerDPMx' is never read
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm7));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:763:3: warning: Value stored to 'fPowerDPMx' is never read [clang-analyzer-deadcode.DeadStores]
fPowerDPMx = Convert_ULONG_ToFraction(1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:763:3: note: Value stored to 'fPowerDPMx' is never read
fPowerDPMx = Convert_ULONG_ToFraction(1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:994:2: warning: Value stored to 'fA_Term' is never read [clang-analyzer-deadcode.DeadStores]
fA_Term = fAdd(fMargin_RO_a, fAdd(fMultiply(fSM_A4, fSclk), fSM_A5));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:994:2: note: Value stored to 'fA_Term' is never read
fA_Term = fAdd(fMargin_RO_a, fAdd(fMultiply(fSM_A4, fSclk), fSM_A5));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:995:2: warning: Value stored to 'fB_Term' is never read [clang-analyzer-deadcode.DeadStores]
fB_Term = fAdd(fAdd(fMultiply(fSM_A2, fSclk), fSM_A6), fMargin_RO_b);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:995:2: note: Value stored to 'fB_Term' is never read
fB_Term = fAdd(fAdd(fMultiply(fSM_A2, fSclk), fSM_A6), fMargin_RO_b);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:996:2: warning: Value stored to 'fC_Term' is never read [clang-analyzer-deadcode.DeadStores]
fC_Term = fAdd(fMargin_RO_c,
^ ~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:996:2: note: Value stored to 'fC_Term' is never read
fC_Term = fAdd(fMargin_RO_c,
^ ~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:1661:2: warning: Value stored to 'table_address' is never read [clang-analyzer-deadcode.DeadStores]
table_address += offset;
^ ~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:1661:2: note: Value stored to 'table_address' is never read
table_address += offset;
^ ~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppevvmath.h:223:18: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
temp.full = (X << SHIFT_AMOUNT);
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:718:6: note: Assuming 'getASICProfilingInfo' is non-null
if (!getASICProfilingInfo)
^~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:718:2: note: Taking false branch
if (!getASICProfilingInfo)
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:721:6: note: Assuming field 'ucTableFormatRevision' is >= 3
if (getASICProfilingInfo->asHeader.ucTableFormatRevision < 3 ||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:721:6: note: Left side of '||' is false
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:722:7: note: Assuming field 'ucTableFormatRevision' is not equal to 3
(getASICProfilingInfo->asHeader.ucTableFormatRevision == 3 &&
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:722:65: note: Left side of '&&' is false
(getASICProfilingInfo->asHeader.ucTableFormatRevision == 3 &&
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:732:2: note: Control jumps to the 'default' case at line 761
switch (dpm_level) {
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:784:6: note: Assuming 'result' is 0
if (result)
^~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:784:2: note: Taking false branch
if (result)
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:805:6: note: Assuming 'result' is 0
if (result)
^~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:805:2: note: Taking false branch
if (result)
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:825:6: note: Assuming 'result' is 0
if (result)
^~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:825:2: note: Taking false branch
if (result)
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:846:6: note: Assuming 'result' is 0
if (result)
^~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:846:2: note: Taking false branch
if (result)
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:853:19: note: Calling 'fDecodeLogisticFuse'
fKt_Beta_fused = fDecodeLogisticFuse(ul_Kt_Beta_fused,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppevvmath.h:192:44: note: Passing the value -13 via 1st parameter 'X'
fInt f_CONSTANT_NEG13 = ConvertToFraction(-13);
^~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppevvmath.h:192:26: note: Calling 'ConvertToFraction'
fInt f_CONSTANT_NEG13 = ConvertToFraction(-13);
^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppevvmath.h:222:2: note: Taking true branch
if (X <= MAX)
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppevvmath.h:223:18: note: The result of the left shift is undefined because the left operand is negative
temp.full = (X << SHIFT_AMOUNT);
~ ^
Suppressed 49 warnings (10 in non-user code, 39 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.
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.
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.
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/non-atomic.h:21:6: warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign]
*p |= mask;
^
crypto/lrw.c:82:6: note: Assuming 'err' is 0
if (err)
^~~
crypto/lrw.c:82:2: note: Taking false branch
if (err)
^
crypto/lrw.c:85:6: note: Assuming field 'table' is null
if (ctx->table)
^~~~~~~~~~
crypto/lrw.c:85:2: note: Taking false branch
if (ctx->table)
^
crypto/lrw.c:90:6: note: Assuming field 'table' is non-null
if (!ctx->table)
^~~~~~~~~~~
crypto/lrw.c:90:2: note: Taking false branch
--
tmp = RREG32(BIF_SCRATCH0);
^
drivers/gpu/drm/radeon/r600.c:1862:2: note: Value stored to 'tmp' is never read
drivers/gpu/drm/radeon/r600.c:2572:3: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]
err = -EINVAL;
^ ~~~~~~~
drivers/gpu/drm/radeon/r600.c:2572:3: note: Value stored to 'err' is never read
err = -EINVAL;
^ ~~~~~~~
drivers/gpu/drm/radeon/r600.c:4396:3: warning: Value stored to 'tmp' is never read [clang-analyzer-deadcode.DeadStores]
tmp = readl((void __iomem *)ptr);
^
drivers/gpu/drm/radeon/r600.c:4396:3: note: Value stored to 'tmp' is never read
Suppressed 12 warnings (7 in non-user code, 5 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.
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.
10 warnings generated.
fs/splice.c:722:2: warning: Undefined or garbage value returned to caller [clang-analyzer-core.uninitialized.UndefReturn]
return ret;
^ ~~~
fs/splice.c:630:2: note: 'ret' declared without an initial value
ssize_t ret;
^~~~~~~~~~~
fs/splice.c:632:15: note: Assuming 'array' is non-null
if (unlikely(!array))
^
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
fs/splice.c:632:2: note: Taking false branch
if (unlikely(!array))
^
fs/splice.c:638:2: note: Loop condition is false. Execution continues on line 714
while (sd.total_len) {
^
fs/splice.c:719:9: note: Field 'num_spliced' is 0
if (sd.num_spliced)
^
fs/splice.c:719:2: note: Taking false branch
if (sd.num_spliced)
^
fs/splice.c:722:2: note: Undefined or garbage value returned to caller
return ret;
^ ~~~
fs/splice.c:845:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = 0;
^ ~
fs/splice.c:845:2: note: Value stored to 'ret' is never read
ret = 0;
^ ~
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.
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.
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.
8 warnings generated.
Suppressed 8 warnings (7 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.
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.
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.
13 warnings generated.
drivers/gpu/drm/nouveau/nouveau_bo.c:1228:10: warning: The left operand of '==' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
if (ret == -ENOSPC) {
~~~ ^
drivers/gpu/drm/nouveau/nouveau_bo.c:1146:2: note: 'ret' declared without an initial value
int ret;
^~~~~~~
drivers/gpu/drm/nouveau/nouveau_bo.c:1150:2: note: Control jumps to 'case 2:' at line 1171
switch (reg->mem_type) {
^
drivers/gpu/drm/nouveau/nouveau_bo.c:1177:7: note: Assuming field 'family' is < NV_DEVICE_INFO_V0_TESLA
if (drm->client.device.info.family >= NV_DEVICE_INFO_V0_TESLA &&
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/nouveau/nouveau_bo.c:1177:65: note: Left side of '&&' is false
if (drm->client.device.info.family >= NV_DEVICE_INFO_V0_TESLA &&
^
drivers/gpu/drm/nouveau/nouveau_bo.c:1183:7: note: Assuming field 'oclass' is < NVIF_CLASS_MEM_NV50
if (drm->client.mem->oclass >= NVIF_CLASS_MEM_NV50) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/nouveau/nouveau_bo.c:1183:3: note: Taking false branch
if (drm->client.mem->oclass >= NVIF_CLASS_MEM_NV50) {
^
drivers/gpu/drm/nouveau/nouveau_bo.c:1222:3: note: Execution continues on line 1228
break;
^
drivers/gpu/drm/nouveau/nouveau_bo.c:1228:10: note: The left operand of '==' is a garbage value
if (ret == -ENOSPC) {
~~~ ^
>> drivers/gpu/drm/nouveau/nouveau_bo.c:1327:2: warning: Value stored to 'dev' is never read [clang-analyzer-deadcode.DeadStores]
dev = drm->dev->dev;
^ ~~~~~~~~~~~~~
drivers/gpu/drm/nouveau/nouveau_bo.c:1327:2: note: Value stored to 'dev' is never read
dev = drm->dev->dev;
^ ~~~~~~~~~~~~~
drivers/gpu/drm/nouveau/nouveau_bo.c:1344:2: warning: Value stored to 'dev' is never read [clang-analyzer-deadcode.DeadStores]
dev = drm->dev->dev;
^ ~~~~~~~~~~~~~
drivers/gpu/drm/nouveau/nouveau_bo.c:1344:2: note: Value stored to 'dev' is never read
dev = drm->dev->dev;
^ ~~~~~~~~~~~~~
Suppressed 10 warnings (8 in non-user code, 2 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.
9 warnings generated.
drivers/gpu/drm/nouveau/nouveau_bo0039.c:55:6: warning: Value stored to 'page_count' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
u32 page_count = new_reg->num_pages;
^~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/nouveau/nouveau_bo0039.c:55:6: note: Value stored to 'page_count' during its initialization is never read
u32 page_count = new_reg->num_pages;
^~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
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.
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.
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.
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.
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.
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.
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.
6 warnings generated.
fs/autofs/root.c:560:2: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(cp, symname);
^~~~~~
fs/autofs/root.c:560:2: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(cp, symname);
^~~~~~
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.
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.
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.
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.
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.
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.
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.
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.
--
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.
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.
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.
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.
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.
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.
62 warnings generated.
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:734:3: warning: Value stored to 'fPowerDPMx' is never read [clang-analyzer-deadcode.DeadStores]
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm1));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:734:3: note: Value stored to 'fPowerDPMx' is never read
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm1));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:738:3: warning: Value stored to 'fPowerDPMx' is never read [clang-analyzer-deadcode.DeadStores]
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm2));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:738:3: note: Value stored to 'fPowerDPMx' is never read
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm2));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:742:3: warning: Value stored to 'fPowerDPMx' is never read [clang-analyzer-deadcode.DeadStores]
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm3));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:742:3: note: Value stored to 'fPowerDPMx' is never read
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm3));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:746:3: warning: Value stored to 'fPowerDPMx' is never read [clang-analyzer-deadcode.DeadStores]
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm4));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:746:3: note: Value stored to 'fPowerDPMx' is never read
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm4));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:750:3: warning: Value stored to 'fPowerDPMx' is never read [clang-analyzer-deadcode.DeadStores]
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm5));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:750:3: note: Value stored to 'fPowerDPMx' is never read
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm5));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:754:3: warning: Value stored to 'fPowerDPMx' is never read [clang-analyzer-deadcode.DeadStores]
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm6));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:754:3: note: Value stored to 'fPowerDPMx' is never read
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm6));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:758:3: warning: Value stored to 'fPowerDPMx' is never read [clang-analyzer-deadcode.DeadStores]
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm7));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:758:3: note: Value stored to 'fPowerDPMx' is never read
fPowerDPMx = Convert_ULONG_ToFraction(le16_to_cpu(getASICProfilingInfo->usPowerDpm7));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:763:3: warning: Value stored to 'fPowerDPMx' is never read [clang-analyzer-deadcode.DeadStores]
fPowerDPMx = Convert_ULONG_ToFraction(1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:763:3: note: Value stored to 'fPowerDPMx' is never read
fPowerDPMx = Convert_ULONG_ToFraction(1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:994:2: warning: Value stored to 'fA_Term' is never read [clang-analyzer-deadcode.DeadStores]
fA_Term = fAdd(fMargin_RO_a, fAdd(fMultiply(fSM_A4, fSclk), fSM_A5));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:994:2: note: Value stored to 'fA_Term' is never read
fA_Term = fAdd(fMargin_RO_a, fAdd(fMultiply(fSM_A4, fSclk), fSM_A5));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:995:2: warning: Value stored to 'fB_Term' is never read [clang-analyzer-deadcode.DeadStores]
fB_Term = fAdd(fAdd(fMultiply(fSM_A2, fSclk), fSM_A6), fMargin_RO_b);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:995:2: note: Value stored to 'fB_Term' is never read
fB_Term = fAdd(fAdd(fMultiply(fSM_A2, fSclk), fSM_A6), fMargin_RO_b);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:996:2: warning: Value stored to 'fC_Term' is never read [clang-analyzer-deadcode.DeadStores]
fC_Term = fAdd(fMargin_RO_c,
^ ~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:996:2: note: Value stored to 'fC_Term' is never read
fC_Term = fAdd(fMargin_RO_c,
^ ~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:1661:2: warning: Value stored to 'table_address' is never read [clang-analyzer-deadcode.DeadStores]
table_address += offset;
^ ~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:1661:2: note: Value stored to 'table_address' is never read
table_address += offset;
^ ~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppevvmath.h:223:18: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
temp.full = (X << SHIFT_AMOUNT);
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:718:6: note: Assuming 'getASICProfilingInfo' is non-null
if (!getASICProfilingInfo)
^~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:718:2: note: Taking false branch
if (!getASICProfilingInfo)
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:721:6: note: Assuming field 'ucTableFormatRevision' is >= 3
if (getASICProfilingInfo->asHeader.ucTableFormatRevision < 3 ||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:721:6: note: Left side of '||' is false
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:722:7: note: Assuming field 'ucTableFormatRevision' is not equal to 3
(getASICProfilingInfo->asHeader.ucTableFormatRevision == 3 &&
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:722:65: note: Left side of '&&' is false
(getASICProfilingInfo->asHeader.ucTableFormatRevision == 3 &&
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:732:2: note: Control jumps to the 'default' case at line 761
switch (dpm_level) {
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:784:6: note: Assuming 'result' is 0
if (result)
^~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:784:2: note: Taking false branch
if (result)
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:805:6: note: Assuming 'result' is 0
if (result)
^~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:805:2: note: Taking false branch
if (result)
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:825:6: note: Assuming 'result' is 0
if (result)
^~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:825:2: note: Taking false branch
if (result)
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:846:6: note: Assuming 'result' is 0
if (result)
^~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:846:2: note: Taking false branch
if (result)
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppatomctrl.c:853:19: note: Calling 'fDecodeLogisticFuse'
fKt_Beta_fused = fDecodeLogisticFuse(ul_Kt_Beta_fused,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppevvmath.h:192:44: note: Passing the value -13 via 1st parameter 'X'
fInt f_CONSTANT_NEG13 = ConvertToFraction(-13);
^~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppevvmath.h:192:26: note: Calling 'ConvertToFraction'
fInt f_CONSTANT_NEG13 = ConvertToFraction(-13);
^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppevvmath.h:222:2: note: Taking true branch
if (X <= MAX)
^
drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/ppevvmath.h:223:18: note: The result of the left shift is undefined because the left operand is negative
temp.full = (X << SHIFT_AMOUNT);
~ ^
Suppressed 49 warnings (10 in non-user code, 39 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.
fs/fscache/object.c:454:25: warning: Value stored to 'cookie' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct fscache_cookie *cookie = object->cookie;
^~~~~~ ~~~~~~~~~~~~~~
fs/fscache/object.c:454:25: note: Value stored to 'cookie' during its initialization is never read
struct fscache_cookie *cookie = object->cookie;
^~~~~~ ~~~~~~~~~~~~~~
Suppressed 7 warnings (6 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.
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.
9 warnings generated.
fs/fscache/page.c:409:32: warning: Value stored to 'state' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
enum fscache_operation_state state = op->state;
^~~~~ ~~~~~~~~~
fs/fscache/page.c:409:32: note: Value stored to 'state' during its initialization is never read
enum fscache_operation_state state = op->state;
^~~~~ ~~~~~~~~~
fs/fscache/page.c:998:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = -ENOBUFS;
^ ~~~~~~~~
fs/fscache/page.c:998:2: note: Value stored to 'ret' is never read
ret = -ENOBUFS;
^ ~~~~~~~~
fs/fscache/page.c:1080:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = -ENOBUFS;
^ ~~~~~~~~
fs/fscache/page.c:1080:2: note: Value stored to 'ret' is never read
ret = -ENOBUFS;
^ ~~~~~~~~
Suppressed 6 warnings (6 in non-user code).
vim +/dev +1327 drivers/gpu/drm/nouveau/nouveau_bo.c
e1429b4c3c7951 Ben Skeggs 2010-09-10 1306
3230cfc34fca9d Konrad Rzeszutek Wilk 2011-10-17 1307 static int
0a667b500703db Dave Airlie 2020-08-25 1308 nouveau_ttm_tt_populate(struct ttm_bo_device *bdev,
0a667b500703db Dave Airlie 2020-08-25 1309 struct ttm_tt *ttm, struct ttm_operation_ctx *ctx)
3230cfc34fca9d Konrad Rzeszutek Wilk 2011-10-17 1310 {
e34b8feeaa4b65 Christian König 2020-10-21 1311 struct ttm_tt *ttm_dma = (void *)ttm;
ebb945a94bba2c Ben Skeggs 2012-07-20 1312 struct nouveau_drm *drm;
359088d5b8ec06 Ben Skeggs 2017-11-01 1313 struct device *dev;
22b33e8ed0e38b Dave Airlie 2012-04-02 1314 bool slave = !!(ttm->page_flags & TTM_PAGE_FLAG_SG);
3230cfc34fca9d Konrad Rzeszutek Wilk 2011-10-17 1315
7eec915138279d Dave Airlie 2020-09-15 1316 if (ttm_tt_is_populated(ttm))
3230cfc34fca9d Konrad Rzeszutek Wilk 2011-10-17 1317 return 0;
3230cfc34fca9d Konrad Rzeszutek Wilk 2011-10-17 1318
22b33e8ed0e38b Dave Airlie 2012-04-02 1319 if (slave && ttm->sg) {
22b33e8ed0e38b Dave Airlie 2012-04-02 1320 /* make userspace faulting work */
22b33e8ed0e38b Dave Airlie 2012-04-02 1321 drm_prime_sg_to_page_addr_arrays(ttm->sg, ttm->pages,
22b33e8ed0e38b Dave Airlie 2012-04-02 1322 ttm_dma->dma_address, ttm->num_pages);
22b33e8ed0e38b Dave Airlie 2012-04-02 1323 return 0;
22b33e8ed0e38b Dave Airlie 2012-04-02 1324 }
22b33e8ed0e38b Dave Airlie 2012-04-02 1325
0a667b500703db Dave Airlie 2020-08-25 1326 drm = nouveau_bdev(bdev);
359088d5b8ec06 Ben Skeggs 2017-11-01 @1327 dev = drm->dev->dev;
3230cfc34fca9d Konrad Rzeszutek Wilk 2011-10-17 1328
461619f5c3242a Christian König 2020-10-24 1329 return ttm_pool_alloc(&drm->ttm.bdev.pool, ttm, ctx);
3230cfc34fca9d Konrad Rzeszutek Wilk 2011-10-17 1330 }
3230cfc34fca9d Konrad Rzeszutek Wilk 2011-10-17 1331
:::::: The code at line 1327 was first introduced by commit
:::::: 359088d5b8ec06196a9ea53e7e59167514220465 drm/nouveau: remove trivial cases of nvxx_device() usage
:::::: TO: Ben Skeggs <bskeggs(a)redhat.com>
:::::: CC: Ben Skeggs <bskeggs(a)redhat.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
drivers/dma-buf/dma-resv.c:653 dma_resv_test_signaled() warn: ignoring unreachable code.
by kernel test robot
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: "Christian König" <ckoenig.leichtzumerken(a)gmail.com>
CC: 0day robot <lkp(a)intel.com>
CC: Daniel Vetter <daniel.vetter(a)ffwll.ch>
tree: https://github.com/0day-ci/linux/commits/Christian-K-nig/dma-buf-add-dma_...
head: 22990b58cc6b9f8a9d379154704a82ad982f67bd
commit: b53bf8c32631c72dd3e75875c37a4cdd23687e97 dma-buf: use new iterator in dma_resv_test_signaled
date: 6 days ago
:::::: branch date: 6 days ago
:::::: commit date: 6 days ago
config: i386-randconfig-m021-20210927 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
drivers/dma-buf/dma-resv.c:653 dma_resv_test_signaled() warn: ignoring unreachable code.
Old smatch warnings:
drivers/dma-buf/dma-resv.c:180 dma_resv_reserve_shared() error: we previously assumed 'old' could be null (see line 159)
vim +653 drivers/dma-buf/dma-resv.c
3c3b177a9369b2 drivers/dma-buf/reservation.c Maarten Lankhorst 2014-07-01 631
3c3b177a9369b2 drivers/dma-buf/reservation.c Maarten Lankhorst 2014-07-01 632
dad6c3945fd253 drivers/dma-buf/reservation.c Rob Clark 2016-03-31 633 /**
d3fae3b3daac09 drivers/dma-buf/dma-resv.c Christian König 2021-06-02 634 * dma_resv_test_signaled - Test if a reservation object's fences have been
d3fae3b3daac09 drivers/dma-buf/dma-resv.c Christian König 2021-06-02 635 * signaled.
dad6c3945fd253 drivers/dma-buf/reservation.c Rob Clark 2016-03-31 636 * @obj: the reservation object
dad6c3945fd253 drivers/dma-buf/reservation.c Rob Clark 2016-03-31 637 * @test_all: if true, test all fences, otherwise only test the exclusive
dad6c3945fd253 drivers/dma-buf/reservation.c Rob Clark 2016-03-31 638 * fence
dad6c3945fd253 drivers/dma-buf/reservation.c Rob Clark 2016-03-31 639 *
d3fae3b3daac09 drivers/dma-buf/dma-resv.c Christian König 2021-06-02 640 * Callers are not required to hold specific locks, but maybe hold
d9edf92d496b61 drivers/dma-buf/dma-resv.c Daniel Vetter 2021-08-05 641 * dma_resv_lock() already.
d9edf92d496b61 drivers/dma-buf/dma-resv.c Daniel Vetter 2021-08-05 642 *
dad6c3945fd253 drivers/dma-buf/reservation.c Rob Clark 2016-03-31 643 * RETURNS
d9edf92d496b61 drivers/dma-buf/dma-resv.c Daniel Vetter 2021-08-05 644 *
d9edf92d496b61 drivers/dma-buf/dma-resv.c Daniel Vetter 2021-08-05 645 * True if all fences signaled, else false.
dad6c3945fd253 drivers/dma-buf/reservation.c Rob Clark 2016-03-31 646 */
d3fae3b3daac09 drivers/dma-buf/dma-resv.c Christian König 2021-06-02 647 bool dma_resv_test_signaled(struct dma_resv *obj, bool test_all)
3c3b177a9369b2 drivers/dma-buf/reservation.c Maarten Lankhorst 2014-07-01 648 {
b53bf8c32631c7 drivers/dma-buf/dma-resv.c Christian König 2021-09-21 649 struct dma_resv_iter cursor;
9d38814d1e346e drivers/dma-buf/dma-resv.c Christian König 2021-06-06 650 struct dma_fence *fence;
b016cd6ed4b772 drivers/dma-buf/dma-resv.c Chris Wilson 2019-08-14 651
b53bf8c32631c7 drivers/dma-buf/dma-resv.c Christian König 2021-09-21 652 dma_resv_iter_begin(&cursor, obj, test_all);
b53bf8c32631c7 drivers/dma-buf/dma-resv.c Christian König 2021-09-21 @653 dma_resv_for_each_fence_unlocked(&cursor, fence) {
b53bf8c32631c7 drivers/dma-buf/dma-resv.c Christian König 2021-09-21 654 dma_resv_iter_end(&cursor);
b53bf8c32631c7 drivers/dma-buf/dma-resv.c Christian König 2021-09-21 655 return false;
9d38814d1e346e drivers/dma-buf/dma-resv.c Christian König 2021-06-06 656 }
b53bf8c32631c7 drivers/dma-buf/dma-resv.c Christian König 2021-09-21 657 dma_resv_iter_end(&cursor);
b53bf8c32631c7 drivers/dma-buf/dma-resv.c Christian König 2021-09-21 658 return true;
3c3b177a9369b2 drivers/dma-buf/reservation.c Maarten Lankhorst 2014-07-01 659 }
d3fae3b3daac09 drivers/dma-buf/dma-resv.c Christian König 2021-06-02 660 EXPORT_SYMBOL_GPL(dma_resv_test_signaled);
068d9d754bc15f drivers/dma-buf/dma-resv.c Christian König 2021-05-11 661
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks
[freescale-fslc:5.4-2.3.x-imx 14893/21308] drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1213:30: sparse: sparse: Using plain integer as NULL pointer
by kernel test robot
CC: kbuild-all(a)lists.01.org
TO: Otavio Salvador <otavio(a)ossystems.com.br>
Hi Fugang,
First bad commit (maybe != root cause):
tree: https://github.com/Freescale/linux-fslc 5.4-2.3.x-imx
head: 5e2f889a8a3a0b326eb96497906bc7bcb6bcb743
commit: f186a4e65f54a28973c743f8c007b18c1ce95be6 [14893/21308] MLK-24962 net: wireless: nxp: mxm_wifiex: upgrade to mxm5x16203 release
:::::: branch date: 5 days ago
:::::: commit date: 11 months ago
config: x86_64-randconfig-s022-20210927 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/Freescale/linux-fslc/commit/f186a4e65f54a28973c743f8c0...
git remote add freescale-fslc https://github.com/Freescale/linux-fslc
git fetch --no-tags freescale-fslc 5.4-2.3.x-imx
git checkout f186a4e65f54a28973c743f8c007b18c1ce95be6
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/net/wireless/nxp/mxm_wifiex/wlan_src/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1213:30: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1232:58: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1262:56: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1275:51: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1002:30: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1023:57: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1052:55: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1064:50: sparse: sparse: Using plain integer as NULL pointer
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:548:13: sparse: sparse: symbol 'wlan_disable_pcie_host_int' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:594:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:599:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:605:33: sparse: sparse: Using plain integer as NULL pointer
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:581:13: sparse: sparse: symbol 'wlan_clear_pending_int_status' was not declared. Should it be static?
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:624:13: sparse: sparse: symbol 'wlan_enable_pcie_host_int' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:700:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:715:57: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:767:30: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:788:57: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:820:55: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:834:50: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:852:30: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:902:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:922:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:936:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1082:30: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1123:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1142:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1156:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1291:30: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1304:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1314:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1341:30: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1362:53: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1408:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1489:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1518:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1527:33: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1543:65: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1657:42: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1674:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1679:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1704:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1710:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1769:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1783:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1796:33: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1812:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1816:54: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1891:30: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1911:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1925:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1936:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1941:64: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1942:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1969:74: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1970:48: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1983:33: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1990:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:1999:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2004:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2069:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2078:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2108:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2112:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2117:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2125:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2140:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2165:33: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2177:33: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2189:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2201:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2211:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2222:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2281:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2297:32: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2304:22: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2305:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2344:33: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2359:66: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2375:53: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2383:33: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2392:33: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2452:50: sparse: sparse: Using plain integer as NULL pointer
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2428:13: sparse: sparse: symbol 'wlan_pcie_cmdrsp_complete' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2531:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2578:65: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2626:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2631:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2670:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2679:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2697:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2727:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2760:17: sparse: sparse: Using plain integer as NULL pointer
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2648:13: sparse: sparse: symbol 'wlan_pcie_event_complete' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2794:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2803:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2809:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2822:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2833:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c:2843:17: sparse: sparse: too many warnings
--
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c: note: in included file:
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_fw.h:4153:47: sparse: sparse: array of flexible structures
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_fw.h:2834:41: sparse: sparse: array of flexible structures
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:62:13: sparse: sparse: symbol 'wlan_cmd_set_get_band_steering_cfg' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:93:13: sparse: sparse: symbol 'wlan_ret_set_get_band_steering_cfg' was not declared. Should it be static?
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:126:13: sparse: sparse: symbol 'wlan_cmd_set_get_beacon_stuck_cfg' was not declared. Should it be static?
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:157:13: sparse: sparse: symbol 'wlan_ret_set_get_beacon_stuck_cfg' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:203:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:214:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:222:51: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:223:42: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:274:49: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:298:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:312:31: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:327:6: sparse: sparse: symbol 'wlan_notify_station_deauth' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:378:52: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:379:49: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:380:52: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:381:58: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:382:47: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:389:26: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:414:17: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:490:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:550:38: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:581:29: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:591:61: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:591:68: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:597:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:637:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:667:28: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:670:21: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:671:42: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:672:48: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:673:58: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:674:54: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:675:50: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:676:45: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:677:50: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:678:48: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:679:52: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:680:51: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:681:54: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:682:54: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:683:52: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:684:58: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:685:58: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:686:60: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:687:54: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:688:69: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:689:69: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:690:70: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:691:70: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:692:64: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:693:64: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:694:52: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:695:53: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:696:57: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:697:42: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:698:50: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:699:64: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:700:40: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:701:52: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:702:52: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:703:55: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:704:52: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:705:58: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:706:46: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:707:42: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:708:58: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:709:48: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:721:27: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:749:25: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1466:9: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1486:28: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1489:42: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1490:51: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1491:51: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1492:55: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1493:50: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1494:54: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1495:58: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1496:57: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1497:42: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1498:53: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1499:55: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1505:43: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1506:34: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1512:27: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1521:27: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1652:41: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1681:33: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1796:33: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1826:33: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1923:28: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1924:36: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1928:42: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1929:48: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1930:58: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1931:54: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1932:50: sparse: sparse: Using plain integer as NULL pointer
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c:1933:45: sparse: sparse: too many warnings
--
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c: note: in included file (through include/uapi/linux/wireless.h, include/linux/wireless.h, ...):
/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h:406:9: sparse: sparse: preprocessor token offsetof redefined
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c: note: in included file (through include/uapi/linux/posix_types.h, include/uapi/linux/types.h, include/linux/types.h, ...):
include/linux/stddef.h:17:9: sparse: this was the original definition
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:190:5: sparse: sparse: symbol 'string2raw' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:293:13: sparse: sparse: symbol 'woal_set_miracast_mode' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:341:5: sparse: sparse: symbol 'woal_get_priv_driver_version' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:570:5: sparse: sparse: symbol 'woal_priv_customie' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:633:5: sparse: sparse: symbol 'woal_setget_priv_bandcfg' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:760:5: sparse: sparse: symbol 'woal_setget_priv_httxcfg' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:859:5: sparse: sparse: symbol 'woal_setget_priv_htcapinfo' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:961:5: sparse: sparse: symbol 'woal_setget_priv_addbapara' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:1067:5: sparse: sparse: symbol 'woal_priv_delba' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:1163:5: sparse: sparse: symbol 'woal_priv_rejectaddbareq' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:1243:13: sparse: sparse: symbol 'woal_ioctl_addba_reject' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:1344:13: sparse: sparse: symbol 'woal_ioctl_addba_param' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:1393:5: sparse: sparse: symbol 'woal_set_rx_ba_winsize' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:1472:5: sparse: sparse: symbol 'woal_set_tx_ba_winsize' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:1557:5: sparse: sparse: symbol 'woal_setget_priv_aggrpriotbl' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:1645:5: sparse: sparse: symbol 'woal_setget_priv_addbareject' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:1728:5: sparse: sparse: symbol 'woal_setget_priv_vhtcfg' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:1883:5: sparse: sparse: symbol 'woal_setget_priv_opermodecfg' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:1966:5: sparse: sparse: symbol 'woal_get_priv_datarate' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:2016:5: sparse: sparse: symbol 'woal_setget_priv_txratecfg' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c: note: in included file (through drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/mlan.h, drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_main.h):
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/mlan_ioctl.h:2351:22: sparse: sparse: array of flexible structures
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:2281:5: sparse: sparse: symbol 'woal_get_priv_getlog' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:2321:5: sparse: sparse: symbol 'woal_setget_priv_esuppmode' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:2411:5: sparse: sparse: symbol 'woal_setget_priv_passphrase' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:2616:5: sparse: sparse: symbol 'woal_priv_deauth' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:2833:5: sparse: sparse: symbol 'woal_priv_bssrole' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:2914:5: sparse: sparse: symbol 'woal_priv_setuserscan' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:2948:5: sparse: sparse: symbol 'woal_priv_get_chanstats' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:3065:5: sparse: sparse: symbol 'woal_priv_getscantable' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:3126:5: sparse: sparse: symbol 'woal_priv_extcapcfg' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:3202:5: sparse: sparse: symbol 'woal_priv_setgetdeepsleep' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:3276:5: sparse: sparse: symbol 'woal_priv_setgetipaddr' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:3370:5: sparse: sparse: symbol 'woal_priv_setwpssession' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:3438:5: sparse: sparse: symbol 'woal_priv_otpuserdata' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:3508:5: sparse: sparse: symbol 'woal_priv_set_get_countrycode' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:3585:5: sparse: sparse: symbol 'woal_priv_get_cfpinfo' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:3647:5: sparse: sparse: symbol 'woal_priv_setgettcpackenh' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:3711:5: sparse: sparse: symbol 'woal_priv_assocessid' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:3847:5: sparse: sparse: symbol 'woal_priv_getwakeupreason' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:3905:5: sparse: sparse: symbol 'woal_priv_set_get_listeninterval' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:3986:5: sparse: sparse: symbol 'woal_priv_set_get_drvdbg' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:4084:5: sparse: sparse: symbol 'woal_priv_mgmt_filter' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:4161:5: sparse: sparse: symbol 'woal_priv_hscfg' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:4365:5: sparse: sparse: symbol 'woal_priv_hssetpara' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:4413:5: sparse: sparse: symbol 'woal_priv_set_get_scancfg' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:4526:5: sparse: sparse: symbol 'woal_priv_getnlnum' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:4558:5: sparse: sparse: symbol 'woal_priv_set_get_aggrctrl' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:6472:5: sparse: sparse: symbol 'woal_priv_set_get_auto_arp' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:6986:5: sparse: sparse: symbol 'woal_priv_hotspotcfg' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:7053:5: sparse: sparse: symbol 'woal_priv_mgmt_frame_passthru_ctrl' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:7493:5: sparse: sparse: symbol 'woal_priv_macctrl' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:7561:5: sparse: sparse: symbol 'woal_priv_getwap' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:7610:5: sparse: sparse: symbol 'woal_priv_region_code' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:7759:5: sparse: sparse: symbol 'woal_priv_fwmacaddr' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:7825:5: sparse: sparse: symbol 'woal_priv_offchannel' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:7980:5: sparse: sparse: symbol 'woal_priv_set_get_dscp_map' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:8015:5: sparse: sparse: symbol 'woal_priv_get_driver_verext' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:9639:5: sparse: sparse: symbol 'woal_priv_set_get_pmfcfg' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:10601:77: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] rx_mcs_map @@ got int @@
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:10601:77: sparse: expected restricted __le16 [usertype] rx_mcs_map
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:10601:77: sparse: got int
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:10606:77: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] tx_mcs_map @@ got int @@
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:10606:77: sparse: expected restricted __le16 [usertype] tx_mcs_map
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:10606:77: sparse: got int
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:10621:77: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] rx_mcs_map @@ got int @@
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:10621:77: sparse: expected restricted __le16 [usertype] rx_mcs_map
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:10621:77: sparse: got int
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:10626:77: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] tx_mcs_map @@ got int @@
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:10626:77: sparse: expected restricted __le16 [usertype] tx_mcs_map
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:10626:77: sparse: got int
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:11674:24: sparse: sparse: cast from restricted __be16
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:11674:24: sparse: sparse: cast from restricted __be16
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:12540:5: sparse: sparse: symbol 'woal_set_scan_chan_gap' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:13021:6: sparse: sparse: symbol 'woal_get_center_freq_idx' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:13970:5: sparse: sparse: symbol 'woal_priv_rx_abort_cfg' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:14053:5: sparse: sparse: symbol 'woal_priv_rx_abort_cfg_ext' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:14150:5: sparse: sparse: symbol 'woal_priv_tx_ampdu_prot_mode' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:14230:5: sparse: sparse: symbol 'woal_priv_rate_adapt_cfg' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:14336:5: sparse: sparse: symbol 'woal_priv_cck_desense_cfg' was not declared. Should it be static?
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:14548:5: sparse: sparse: symbol 'woal_priv_arbcfg' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:14682:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] <asn:1> *from @@ got char *[assigned] cmd_buf @@
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:14682:33: sparse: expected void const [noderef] <asn:1> *from
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:14682:33: sparse: got char *[assigned] cmd_buf
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:16224:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:1> *to @@ got char *[assigned] cmd_buf @@
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:16224:42: sparse: expected void [noderef] <asn:1> *to
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_eth_ioctl.c:16224:42: sparse: got char *[assigned] cmd_buf
--
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c: note: in included file (through include/uapi/linux/wireless.h, include/linux/wireless.h, ...):
/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h:406:9: sparse: sparse: preprocessor token offsetof redefined
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c: note: in included file (through include/uapi/linux/posix_types.h, include/uapi/linux/types.h, include/linux/types.h, ...):
include/linux/stddef.h:17:9: sparse: this was the original definition
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:38:11: sparse: sparse: symbol 'cfg80211_cipher_suites' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:2024:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] frame_control @@ got restricted __le16 [usertype] @@
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:2024:29: sparse: expected unsigned short [usertype] frame_control
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:2024:29: sparse: got restricted __le16 [usertype]
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:2075:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] auth_alg @@ got restricted __le16 [usertype] @@
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:2075:31: sparse: expected unsigned short [usertype] auth_alg
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:2075:31: sparse: got restricted __le16 [usertype]
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:520:6: sparse: sparse: symbol 'is_cfg80211_special_region_code' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:1209:13: sparse: sparse: symbol 'woal_set_ewpa_mode' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:1625:5: sparse: sparse: symbol 'woal_cfg80211_connect_scan' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:1711:6: sparse: sparse: symbol 'woal_save_assoc_params' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:1770:6: sparse: sparse: symbol 'woal_save_auth_params' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:2279:6: sparse: sparse: symbol 'woal_assoc_resp_event' was not declared. Should it be static?
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:2921:6: sparse: sparse: symbol 'woal_cfg80211_fill_rate_info' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:3624:13: sparse: sparse: symbol 'woal_role_switch' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:3714:13: sparse: sparse: symbol 'woal_uap_scan' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:3801:6: sparse: sparse: symbol 'woal_is_scan_result_expired' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:4199:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] frame_control @@ got restricted __le16 [usertype] @@
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:4199:29: sparse: expected unsigned short [usertype] frame_control
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:4199:29: sparse: got restricted __le16 [usertype]
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:4305:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] frame_control @@ got restricted __le16 [usertype] @@
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:4305:29: sparse: expected unsigned short [usertype] frame_control
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:4305:29: sparse: got restricted __le16 [usertype]
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:4316:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] auth_alg @@ got restricted __le16 [usertype] @@
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:4316:31: sparse: expected unsigned short [usertype] auth_alg
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:4316:31: sparse: got restricted __le16 [usertype]
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:4317:39: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] auth_transaction @@ got restricted __le16 [usertype] @@
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:4317:39: sparse: expected unsigned short [usertype] auth_transaction
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:4317:39: sparse: got restricted __le16 [usertype]
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:4318:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] status_code @@ got restricted __le16 [usertype] @@
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:4318:34: sparse: expected unsigned short [usertype] status_code
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:4318:34: sparse: got restricted __le16 [usertype]
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:5033:6: sparse: sparse: symbol 'woal_bandcfg_to_ieee_band' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:6637:5: sparse: sparse: symbol 'woal_update_okc_roaming_ie' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:7186:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] frame_control @@ got int @@
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:7186:29: sparse: expected restricted __le16 [usertype] frame_control
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:7186:29: sparse: got int
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:7189:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] reason_code @@ got unsigned short [usertype] reason_code @@
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:7189:36: sparse: expected restricted __le16 [usertype] reason_code
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:7189:36: sparse: got unsigned short [usertype] reason_code
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:7320:13: sparse: sparse: symbol 'woal_cfg80211_init_wiphy' was not declared. Should it be static?
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c:7501:6: sparse: sparse: symbol 'woal_update_channel_flag' was not declared. Should it be static?
--
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c: note: in included file (through include/uapi/linux/wireless.h, include/linux/wireless.h, ...):
/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h:406:9: sparse: sparse: preprocessor token offsetof redefined
drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c: note: in included file (through include/uapi/linux/posix_types.h, include/uapi/linux/types.h, include/linux/types.h, ...):
include/linux/stddef.h:17:9: sparse: this was the original definition
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:394:5: sparse: sparse: symbol 'woal_pcie_probe' was not declared. Should it be static?
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:896:13: sparse: sparse: symbol 'woal_pcie_write_data_sync' was not declared. Should it be static?
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:912:13: sparse: sparse: symbol 'woal_pcie_read_data_sync' was not declared. Should it be static?
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:1418:5: sparse: sparse: symbol 'woal_pcie_dump_reg_info' was not declared. Should it be static?
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:1736:21: sparse: sparse: symbol 'mem_type_mapping_tbl_8997' was not declared. Should it be static?
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:1752:13: sparse: sparse: symbol 'woal_read_reg_eight_bit' was not declared. Should it be static?
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:1767:13: sparse: sparse: symbol 'woal_pcie_rdwr_firmware' was not declared. Should it be static?
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:2013:6: sparse: sparse: symbol 'woal_pcie_dump_fw_info_v2' was not declared. Should it be static?
>> drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_pcie.c:2192:6: sparse: sparse: symbol 'woal_pcie_dump_fw_info' was not declared. Should it be static?
Please review and possibly fold the followup patch.
vim +1213 drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_pcie.c
688b67b2c7220b Fugang Duan 2020-04-19 1201
688b67b2c7220b Fugang Duan 2020-04-19 1202 /**
688b67b2c7220b Fugang Duan 2020-04-19 1203 * @brief This function frees event buffer descriptor ring
688b67b2c7220b Fugang Duan 2020-04-19 1204 *
688b67b2c7220b Fugang Duan 2020-04-19 1205 * @param pmadapter A pointer to mlan_adapter structure
688b67b2c7220b Fugang Duan 2020-04-19 1206 *
688b67b2c7220b Fugang Duan 2020-04-19 1207 * @return MLAN_STATUS_SUCCESS or MLAN_STATUS_FAILURE
688b67b2c7220b Fugang Duan 2020-04-19 1208 */
6b4a83a75fc1dc Fugang Duan 2020-05-28 1209 static mlan_status wlan_pcie_delete_evtbd_ring(mlan_adapter *pmadapter)
688b67b2c7220b Fugang Duan 2020-04-19 1210 {
688b67b2c7220b Fugang Duan 2020-04-19 1211 t_u32 i;
688b67b2c7220b Fugang Duan 2020-04-19 1212 pmlan_callbacks pcb = &pmadapter->callbacks;
688b67b2c7220b Fugang Duan 2020-04-19 @1213 mlan_buffer *pmbuf = MNULL;
688b67b2c7220b Fugang Duan 2020-04-19 1214 #if defined(PCIE8997) || defined(PCIE8897)
688b67b2c7220b Fugang Duan 2020-04-19 1215 mlan_pcie_evt_buf *pevtbd_buf;
688b67b2c7220b Fugang Duan 2020-04-19 1216 #endif
688b67b2c7220b Fugang Duan 2020-04-19 1217 #if defined(PCIE9098) || defined(PCIE9097)
688b67b2c7220b Fugang Duan 2020-04-19 1218 adma_dual_desc_buf *padma_bd_buf;
688b67b2c7220b Fugang Duan 2020-04-19 1219 #endif
688b67b2c7220b Fugang Duan 2020-04-19 1220
688b67b2c7220b Fugang Duan 2020-04-19 1221 ENTER();
688b67b2c7220b Fugang Duan 2020-04-19 1222 for (i = 0; i < MLAN_MAX_EVT_BD; i++) {
688b67b2c7220b Fugang Duan 2020-04-19 1223 if (pmadapter->pcard_pcie->evt_buf_list[i]) {
688b67b2c7220b Fugang Duan 2020-04-19 1224 pmbuf = pmadapter->pcard_pcie->evt_buf_list[i];
688b67b2c7220b Fugang Duan 2020-04-19 1225 pcb->moal_unmap_memory(pmadapter->pmoal_handle,
688b67b2c7220b Fugang Duan 2020-04-19 1226 pmbuf->pbuf + pmbuf->data_offset,
6b4a83a75fc1dc Fugang Duan 2020-05-28 1227 pmbuf->buf_pa, MAX_EVENT_SIZE,
688b67b2c7220b Fugang Duan 2020-04-19 1228 PCI_DMA_FROMDEVICE);
688b67b2c7220b Fugang Duan 2020-04-19 1229 wlan_free_mlan_buffer(pmadapter, pmbuf);
688b67b2c7220b Fugang Duan 2020-04-19 1230 }
688b67b2c7220b Fugang Duan 2020-04-19 1231
688b67b2c7220b Fugang Duan 2020-04-19 1232 pmadapter->pcard_pcie->evt_buf_list[i] = MNULL;
688b67b2c7220b Fugang Duan 2020-04-19 1233 #if defined(PCIE8997) || defined(PCIE8897)
688b67b2c7220b Fugang Duan 2020-04-19 1234 if (!pmadapter->pcard_pcie->reg->use_adma) {
688b67b2c7220b Fugang Duan 2020-04-19 1235 pevtbd_buf =
6b4a83a75fc1dc Fugang Duan 2020-05-28 1236 (mlan_pcie_evt_buf *)
6b4a83a75fc1dc Fugang Duan 2020-05-28 1237 pmadapter->pcard_pcie->evtbd_ring[i];
688b67b2c7220b Fugang Duan 2020-04-19 1238
688b67b2c7220b Fugang Duan 2020-04-19 1239 if (pevtbd_buf) {
688b67b2c7220b Fugang Duan 2020-04-19 1240 pevtbd_buf->paddr = 0;
688b67b2c7220b Fugang Duan 2020-04-19 1241 pevtbd_buf->len = 0;
688b67b2c7220b Fugang Duan 2020-04-19 1242 pevtbd_buf->flags = 0;
688b67b2c7220b Fugang Duan 2020-04-19 1243 }
688b67b2c7220b Fugang Duan 2020-04-19 1244 }
688b67b2c7220b Fugang Duan 2020-04-19 1245 #endif
688b67b2c7220b Fugang Duan 2020-04-19 1246
688b67b2c7220b Fugang Duan 2020-04-19 1247 #if defined(PCIE9098) || defined(PCIE9097)
688b67b2c7220b Fugang Duan 2020-04-19 1248 if (pmadapter->pcard_pcie->reg->use_adma) {
688b67b2c7220b Fugang Duan 2020-04-19 1249 padma_bd_buf =
6b4a83a75fc1dc Fugang Duan 2020-05-28 1250 (adma_dual_desc_buf *)
6b4a83a75fc1dc Fugang Duan 2020-05-28 1251 pmadapter->pcard_pcie->evtbd_ring[i];
688b67b2c7220b Fugang Duan 2020-04-19 1252
688b67b2c7220b Fugang Duan 2020-04-19 1253 if (padma_bd_buf) {
688b67b2c7220b Fugang Duan 2020-04-19 1254 padma_bd_buf->paddr = 0;
688b67b2c7220b Fugang Duan 2020-04-19 1255 padma_bd_buf->len = 0;
688b67b2c7220b Fugang Duan 2020-04-19 1256 padma_bd_buf->flags = 0;
688b67b2c7220b Fugang Duan 2020-04-19 1257 padma_bd_buf->pkt_size = 0;
688b67b2c7220b Fugang Duan 2020-04-19 1258 padma_bd_buf->reserved = 0;
688b67b2c7220b Fugang Duan 2020-04-19 1259 }
688b67b2c7220b Fugang Duan 2020-04-19 1260 }
688b67b2c7220b Fugang Duan 2020-04-19 1261 #endif
688b67b2c7220b Fugang Duan 2020-04-19 1262 pmadapter->pcard_pcie->evtbd_ring[i] = MNULL;
688b67b2c7220b Fugang Duan 2020-04-19 1263 }
688b67b2c7220b Fugang Duan 2020-04-19 1264
688b67b2c7220b Fugang Duan 2020-04-19 1265 if (pmadapter->pcard_pcie->evtbd_ring_vbase)
6b4a83a75fc1dc Fugang Duan 2020-05-28 1266 pmadapter->callbacks.moal_mfree_consistent(
6b4a83a75fc1dc Fugang Duan 2020-05-28 1267 pmadapter->pmoal_handle,
6b4a83a75fc1dc Fugang Duan 2020-05-28 1268 pmadapter->pcard_pcie->evtbd_ring_size,
6b4a83a75fc1dc Fugang Duan 2020-05-28 1269 pmadapter->pcard_pcie->evtbd_ring_vbase,
6b4a83a75fc1dc Fugang Duan 2020-05-28 1270 pmadapter->pcard_pcie->evtbd_ring_pbase);
688b67b2c7220b Fugang Duan 2020-04-19 1271
688b67b2c7220b Fugang Duan 2020-04-19 1272 pmadapter->pcard_pcie->evtbd_rdptr = 0;
688b67b2c7220b Fugang Duan 2020-04-19 1273 pmadapter->pcard_pcie->evtbd_wrptr = 0;
688b67b2c7220b Fugang Duan 2020-04-19 1274 pmadapter->pcard_pcie->evtbd_ring_size = 0;
688b67b2c7220b Fugang Duan 2020-04-19 @1275 pmadapter->pcard_pcie->evtbd_ring_vbase = MNULL;
688b67b2c7220b Fugang Duan 2020-04-19 1276 pmadapter->pcard_pcie->evtbd_ring_pbase = 0;
688b67b2c7220b Fugang Duan 2020-04-19 1277
688b67b2c7220b Fugang Duan 2020-04-19 1278 LEAVE();
688b67b2c7220b Fugang Duan 2020-04-19 1279 return MLAN_STATUS_SUCCESS;
688b67b2c7220b Fugang Duan 2020-04-19 1280 }
688b67b2c7220b Fugang Duan 2020-04-19 1281
:::::: The code at line 1213 was first introduced by commit
:::::: 688b67b2c7220b01521ffe560da7eee33042c7bd MLK-23806-01 net: wireless: nxp: mxm_wifiex: add initial MxM wifi driver
:::::: TO: Fugang Duan <fugang.duan(a)nxp.com>
:::::: CC: Fugang Duan <fugang.duan(a)nxp.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 2 weeks