Re: [PATCH v3 06/11] iio: core: merge buffer/ & scan_elements/ attributes
by Dan Carpenter
Hi Alexandru,
url: https://github.com/0day-ci/linux/commits/Alexandru-Ardelean/iio-core-buff...
base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
config: arc-randconfig-m031-20210201 (attached as .config)
compiler: arc-elf-gcc (GCC) 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/iio/industrialio-buffer.c:1413 __iio_buffer_alloc_sysfs_and_mask() error: uninitialized symbol 'ret'.
vim +/ret +1413 drivers/iio/industrialio-buffer.c
e16e0a778fec8a Alexandru Ardelean 2020-09-17 1314 static int __iio_buffer_alloc_sysfs_and_mask(struct iio_buffer *buffer,
418ff389a5a48a Alexandru Ardelean 2021-02-01 1315 struct iio_dev *indio_dev,
418ff389a5a48a Alexandru Ardelean 2021-02-01 1316 int index)
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1317 {
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1318 struct iio_dev_attr *p;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1319 struct attribute **attr;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1320 int ret, i, attrn, scan_el_attrcount, buffer_attrcount;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1321 const struct iio_chan_spec *channels;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1322
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1323 buffer_attrcount = 0;
08e7e0adaa1720 Lars-Peter Clausen 2014-11-26 1324 if (buffer->attrs) {
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1325 while (buffer->attrs[buffer_attrcount] != NULL)
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1326 buffer_attrcount++;
08e7e0adaa1720 Lars-Peter Clausen 2014-11-26 1327 }
08e7e0adaa1720 Lars-Peter Clausen 2014-11-26 1328
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1329 scan_el_attrcount = 0;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1330 INIT_LIST_HEAD(&buffer->scan_el_dev_attr_list);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1331 channels = indio_dev->channels;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1332 if (channels) {
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1333 /* new magic */
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1334 for (i = 0; i < indio_dev->num_channels; i++) {
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1335 if (channels[i].scan_index < 0)
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1336 continue;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1337
ff3f7e049aef92 Alexandru Ardelean 2020-04-24 1338 ret = iio_buffer_add_channel_sysfs(indio_dev, buffer,
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1339 &channels[i]);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1340 if (ret < 0)
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1341 goto error_cleanup_dynamic;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1342 scan_el_attrcount += ret;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1343 if (channels[i].type == IIO_TIMESTAMP)
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1344 indio_dev->scan_index_timestamp =
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1345 channels[i].scan_index;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1346 }
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1347 if (indio_dev->masklength && buffer->scan_mask == NULL) {
3862828a903d3c Andy Shevchenko 2019-03-04 1348 buffer->scan_mask = bitmap_zalloc(indio_dev->masklength,
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1349 GFP_KERNEL);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1350 if (buffer->scan_mask == NULL) {
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1351 ret = -ENOMEM;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1352 goto error_cleanup_dynamic;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1353 }
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1354 }
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1355 }
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1356
418ff389a5a48a Alexandru Ardelean 2021-02-01 1357 attrn = buffer_attrcount + scan_el_attrcount + ARRAY_SIZE(iio_buffer_attrs);
418ff389a5a48a Alexandru Ardelean 2021-02-01 1358 attr = kcalloc(attrn + 1, sizeof(struct attribute *), GFP_KERNEL);
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1359 if (!attr) {
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1360 ret = -ENOMEM;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1361 goto error_free_scan_mask;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1362 }
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1363
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1364 memcpy(attr, iio_buffer_attrs, sizeof(iio_buffer_attrs));
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1365 if (!buffer->access->set_length)
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1366 attr[0] = &dev_attr_length_ro.attr;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1367
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1368 if (buffer->access->flags & INDIO_BUFFER_FLAG_FIXED_WATERMARK)
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1369 attr[2] = &dev_attr_watermark_ro.attr;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1370
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1371 if (buffer->attrs)
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1372 memcpy(&attr[ARRAY_SIZE(iio_buffer_attrs)], buffer->attrs,
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1373 sizeof(struct attribute *) * buffer_attrcount);
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1374
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1375 buffer_attrcount += ARRAY_SIZE(iio_buffer_attrs);
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1376
418ff389a5a48a Alexandru Ardelean 2021-02-01 1377 attrn = buffer_attrcount;
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1378
418ff389a5a48a Alexandru Ardelean 2021-02-01 1379 list_for_each_entry(p, &buffer->scan_el_dev_attr_list, l)
418ff389a5a48a Alexandru Ardelean 2021-02-01 1380 attr[attrn++] = &p->dev_attr.attr;
418ff389a5a48a Alexandru Ardelean 2021-02-01 1381
418ff389a5a48a Alexandru Ardelean 2021-02-01 1382 buffer->buffer_group.name = kasprintf(GFP_KERNEL, "buffer%d", index);
418ff389a5a48a Alexandru Ardelean 2021-02-01 1383 if (!buffer->buffer_group.name)
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1384 goto error_free_buffer_attrs;
This needs to be "ret = -ENOMEM;"
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1385
418ff389a5a48a Alexandru Ardelean 2021-02-01 1386 buffer->buffer_group.attrs = attr;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1387
418ff389a5a48a Alexandru Ardelean 2021-02-01 1388 ret = iio_device_register_sysfs_group(indio_dev, &buffer->buffer_group);
418ff389a5a48a Alexandru Ardelean 2021-02-01 1389 if (ret)
418ff389a5a48a Alexandru Ardelean 2021-02-01 1390 goto error_free_buffer_attr_group_name;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1391
418ff389a5a48a Alexandru Ardelean 2021-02-01 1392 /* we only need to link the legacy buffer groups for the first buffer */
418ff389a5a48a Alexandru Ardelean 2021-02-01 1393 if (index > 0)
418ff389a5a48a Alexandru Ardelean 2021-02-01 1394 return 0;
2dca9525701e36 Alexandru Ardelean 2021-02-01 1395
418ff389a5a48a Alexandru Ardelean 2021-02-01 1396 ret = iio_buffer_register_legacy_sysfs_groups(indio_dev, attr,
418ff389a5a48a Alexandru Ardelean 2021-02-01 1397 buffer_attrcount,
418ff389a5a48a Alexandru Ardelean 2021-02-01 1398 scan_el_attrcount);
2dca9525701e36 Alexandru Ardelean 2021-02-01 1399 if (ret)
418ff389a5a48a Alexandru Ardelean 2021-02-01 1400 goto error_free_buffer_attr_group_name;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1401
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1402 return 0;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1403
418ff389a5a48a Alexandru Ardelean 2021-02-01 1404 error_free_buffer_attr_group_name:
418ff389a5a48a Alexandru Ardelean 2021-02-01 1405 kfree(buffer->buffer_group.name);
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1406 error_free_buffer_attrs:
e5d01923ab9239 Alexandru Ardelean 2021-02-01 1407 kfree(buffer->buffer_group.attrs);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1408 error_free_scan_mask:
3862828a903d3c Andy Shevchenko 2019-03-04 1409 bitmap_free(buffer->scan_mask);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1410 error_cleanup_dynamic:
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1411 iio_free_chan_devattr_list(&buffer->scan_el_dev_attr_list);
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1412
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 @1413 return ret;
d967cb6bd4e79c Lars-Peter Clausen 2014-11-26 1414 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
Re: [PATCH v9 08/14] mm/gup: do not migrate zero page
by kernel test robot
Hi Pavel,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on kselftest/next]
[also build test ERROR on tip/sched/core tip/perf/core linux/master next-20210125]
[cannot apply to hnaz-linux-mm/master]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Pavel-Tatashin/prohibit-pinning-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git next
config: arm-randconfig-r031-20210201 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 275c6af7d7f1ed63a03d05b4484413e447133269)
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 arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://github.com/0day-ci/linux/commit/0871f9d0d8c84d31549b4771af9d60ce3...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Pavel-Tatashin/prohibit-pinning-pages-in-ZONE_MOVABLE/20210201-234048
git checkout 0871f9d0d8c84d31549b4771af9d60ce3b1aecb2
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from arch/arm/kernel/asm-offsets.c:12:
>> include/linux/mm.h:1128:3: error: implicit declaration of function 'is_zero_pfn' [-Werror,-Wimplicit-function-declaration]
is_zero_pfn(page_to_pfn(page));
^
include/linux/mm.h:1128:3: note: did you mean 'is_zero_ino'?
include/linux/fs.h:2926:20: note: 'is_zero_ino' declared here
static inline bool is_zero_ino(ino_t ino)
^
1 error generated.
--
In file included from arch/arm/kernel/asm-offsets.c:12:
>> include/linux/mm.h:1128:3: error: implicit declaration of function 'is_zero_pfn' [-Werror,-Wimplicit-function-declaration]
is_zero_pfn(page_to_pfn(page));
^
include/linux/mm.h:1128:3: note: did you mean 'is_zero_ino'?
include/linux/fs.h:2926:20: note: 'is_zero_ino' declared here
static inline bool is_zero_ino(ino_t ino)
^
1 error generated.
make[2]: *** [scripts/Makefile.build:117: arch/arm/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1206: prepare0] Error 2
make[1]: Target 'modules_prepare' not remade because of errors.
make: *** [Makefile:185: __sub-make] Error 2
make: Target 'modules_prepare' not remade because of errors.
--
In file included from arch/arm/kernel/asm-offsets.c:12:
>> include/linux/mm.h:1128:3: error: implicit declaration of function 'is_zero_pfn' [-Werror,-Wimplicit-function-declaration]
is_zero_pfn(page_to_pfn(page));
^
include/linux/mm.h:1128:3: note: did you mean 'is_zero_ino'?
include/linux/fs.h:2926:20: note: 'is_zero_ino' declared here
static inline bool is_zero_ino(ino_t ino)
^
1 error generated.
make[2]: *** [scripts/Makefile.build:117: arch/arm/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1206: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:185: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
vim +/is_zero_pfn +1128 include/linux/mm.h
1123
1124 /* MIGRATE_CMA and ZONE_MOVABLE do not allow pin pages */
1125 static inline bool is_pinnable_page(struct page *page)
1126 {
1127 return !(is_zone_movable_page(page) || is_migrate_cma_page(page)) ||
> 1128 is_zero_pfn(page_to_pfn(page));
1129 }
1130
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[hwmon:hwmon-next 25/25] drivers/hwmon/pmbus/max31785.c:361:56: warning: format specifies type 'unsigned int' but the argument has type 's64' (aka 'long long')
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git hwmon-next
head: c52533beaf2853858ac4bc0db8d5aba04b5ab99f
commit: c52533beaf2853858ac4bc0db8d5aba04b5ab99f [25/25] hwmon: (pmbus/max31785) Support revision "B"
config: x86_64-randconfig-a013-20210201 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 275c6af7d7f1ed63a03d05b4484413e447133269)
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 x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git/...
git remote add hwmon https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git
git fetch --no-tags hwmon hwmon-next
git checkout c52533beaf2853858ac4bc0db8d5aba04b5ab99f
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/hwmon/pmbus/max31785.c:361:56: warning: format specifies type 'unsigned int' but the argument has type 's64' (aka 'long long') [-Wformat]
dev_err(dev, "Unrecognized MAX31785 revision: %x\n", ret);
~~ ^~~
%llx
include/linux/dev_printk.h:112:32: note: expanded from macro 'dev_err'
_dev_err(dev, dev_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
1 warning generated.
vim +361 drivers/hwmon/pmbus/max31785.c
327
328 static int max31785_probe(struct i2c_client *client)
329 {
330 struct device *dev = &client->dev;
331 struct pmbus_driver_info *info;
332 bool dual_tach = false;
333 s64 ret;
334
335 if (!i2c_check_functionality(client->adapter,
336 I2C_FUNC_SMBUS_BYTE_DATA |
337 I2C_FUNC_SMBUS_WORD_DATA))
338 return -ENODEV;
339
340 info = devm_kzalloc(dev, sizeof(struct pmbus_driver_info), GFP_KERNEL);
341 if (!info)
342 return -ENOMEM;
343
344 *info = max31785_info;
345
346 ret = i2c_smbus_write_byte_data(client, PMBUS_PAGE, 255);
347 if (ret < 0)
348 return ret;
349
350 ret = i2c_smbus_read_word_data(client, MFR_REVISION);
351 if (ret < 0)
352 return ret;
353
354 if (ret == MAX31785A || ret == MAX31785B) {
355 dual_tach = true;
356 } else if (ret == MAX31785) {
357 if (!strcmp("max31785a", client->name) ||
358 !strcmp("max31785b", client->name))
359 dev_warn(dev, "Expected max31785a/b, found max31785: cannot provide secondary tachometer readings\n");
360 } else {
> 361 dev_err(dev, "Unrecognized MAX31785 revision: %x\n", ret);
362 return -ENODEV;
363 }
364
365 if (dual_tach) {
366 ret = max31785_configure_dual_tach(client, info);
367 if (ret < 0)
368 return ret;
369 }
370
371 return pmbus_do_probe(client, info);
372 }
373
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[hwmon:hwmon-next 25/25] drivers/hwmon/pmbus/max31785.c:361:16: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 's64' {aka 'long long int'}
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git hwmon-next
head: c52533beaf2853858ac4bc0db8d5aba04b5ab99f
commit: c52533beaf2853858ac4bc0db8d5aba04b5ab99f [25/25] hwmon: (pmbus/max31785) Support revision "B"
config: i386-randconfig-s002-20210201 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-215-g0fb77bb6-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git/...
git remote add hwmon https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git
git fetch --no-tags hwmon hwmon-next
git checkout c52533beaf2853858ac4bc0db8d5aba04b5ab99f
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from include/linux/device.h:15,
from include/linux/acpi.h:15,
from include/linux/i2c.h:13,
from drivers/hwmon/pmbus/max31785.c:10:
drivers/hwmon/pmbus/max31785.c: In function 'max31785_probe':
>> drivers/hwmon/pmbus/max31785.c:361:16: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 's64' {aka 'long long int'} [-Wformat=]
361 | dev_err(dev, "Unrecognized MAX31785 revision: %x\n", ret);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:19:22: note: in definition of macro 'dev_fmt'
19 | #define dev_fmt(fmt) fmt
| ^~~
drivers/hwmon/pmbus/max31785.c:361:3: note: in expansion of macro 'dev_err'
361 | dev_err(dev, "Unrecognized MAX31785 revision: %x\n", ret);
| ^~~~~~~
drivers/hwmon/pmbus/max31785.c:361:50: note: format string is defined here
361 | dev_err(dev, "Unrecognized MAX31785 revision: %x\n", ret);
| ~^
| |
| unsigned int
| %llx
vim +361 drivers/hwmon/pmbus/max31785.c
327
328 static int max31785_probe(struct i2c_client *client)
329 {
330 struct device *dev = &client->dev;
331 struct pmbus_driver_info *info;
332 bool dual_tach = false;
333 s64 ret;
334
335 if (!i2c_check_functionality(client->adapter,
336 I2C_FUNC_SMBUS_BYTE_DATA |
337 I2C_FUNC_SMBUS_WORD_DATA))
338 return -ENODEV;
339
340 info = devm_kzalloc(dev, sizeof(struct pmbus_driver_info), GFP_KERNEL);
341 if (!info)
342 return -ENOMEM;
343
344 *info = max31785_info;
345
346 ret = i2c_smbus_write_byte_data(client, PMBUS_PAGE, 255);
347 if (ret < 0)
348 return ret;
349
350 ret = i2c_smbus_read_word_data(client, MFR_REVISION);
351 if (ret < 0)
352 return ret;
353
354 if (ret == MAX31785A || ret == MAX31785B) {
355 dual_tach = true;
356 } else if (ret == MAX31785) {
357 if (!strcmp("max31785a", client->name) ||
358 !strcmp("max31785b", client->name))
359 dev_warn(dev, "Expected max31785a/b, found max31785: cannot provide secondary tachometer readings\n");
360 } else {
> 361 dev_err(dev, "Unrecognized MAX31785 revision: %x\n", ret);
362 return -ENODEV;
363 }
364
365 if (dual_tach) {
366 ret = max31785_configure_dual_tach(client, info);
367 if (ret < 0)
368 return ret;
369 }
370
371 return pmbus_do_probe(client, info);
372 }
373
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
drivers/scsi/lpfc/lpfc_scsi.c:823:39: sparse: sparse: incorrect type in assignment (different base types)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 88bb507a74ea7d75fa49edd421eaa710a7d80598
commit: da255e2e7cc889e10820bc89752466322426571f scsi: lpfc: Convert SCSI path to use common I/O submission path
date: 3 months ago
config: i386-randconfig-s031-20210202 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-215-g0fb77bb6-dirty
# 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 da255e2e7cc889e10820bc89752466322426571f
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
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/scsi/lpfc/lpfc_scsi.c:129:30: sparse: sparse: cast to restricted __le32
drivers/scsi/lpfc/lpfc_scsi.c:131:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] word2 @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:131:28: sparse: expected unsigned int [usertype] word2
drivers/scsi/lpfc/lpfc_scsi.c:131:28: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:397:35: sparse: sparse: cast to restricted __le32
drivers/scsi/lpfc/lpfc_scsi.c:398:34: sparse: sparse: cast to restricted __le32
drivers/scsi/lpfc/lpfc_scsi.c:401:32: sparse: sparse: cast to restricted __le32
drivers/scsi/lpfc/lpfc_scsi.c:404:35: sparse: sparse: cast to restricted __le32
drivers/scsi/lpfc/lpfc_scsi.c:405:34: sparse: sparse: cast to restricted __le32
drivers/scsi/lpfc/lpfc_scsi.c:408:32: sparse: sparse: cast to restricted __le32
drivers/scsi/lpfc/lpfc_scsi.c:693:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] addr_hi @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:693:22: sparse: expected unsigned int [usertype] addr_hi
drivers/scsi/lpfc/lpfc_scsi.c:693:22: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:694:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] addr_lo @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:694:22: sparse: expected unsigned int [usertype] addr_lo
drivers/scsi/lpfc/lpfc_scsi.c:694:22: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:695:22: sparse: sparse: cast to restricted __le32
drivers/scsi/lpfc/lpfc_scsi.c:697:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] word2 @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:697:20: sparse: expected unsigned int [usertype] word2
drivers/scsi/lpfc/lpfc_scsi.c:697:20: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:698:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] sge_len @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:698:22: sparse: expected unsigned int [usertype] sge_len
drivers/scsi/lpfc/lpfc_scsi.c:698:22: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:703:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] addr_hi @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:703:22: sparse: expected unsigned int [usertype] addr_hi
drivers/scsi/lpfc/lpfc_scsi.c:703:22: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:704:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] addr_lo @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:704:22: sparse: expected unsigned int [usertype] addr_lo
drivers/scsi/lpfc/lpfc_scsi.c:704:22: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:705:22: sparse: sparse: cast to restricted __le32
drivers/scsi/lpfc/lpfc_scsi.c:707:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] word2 @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:707:20: sparse: expected unsigned int [usertype] word2
drivers/scsi/lpfc/lpfc_scsi.c:707:20: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:708:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] sge_len @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:708:22: sparse: expected unsigned int [usertype] sge_len
drivers/scsi/lpfc/lpfc_scsi.c:708:22: sparse: got restricted __le32 [usertype]
>> drivers/scsi/lpfc/lpfc_scsi.c:823:39: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:823:39: sparse: expected unsigned int [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:823:39: sparse: got restricted __be32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:911:46: sparse: sparse: cast to restricted __le32
drivers/scsi/lpfc/lpfc_scsi.c:913:41: sparse: sparse: cast to restricted __le32
drivers/scsi/lpfc/lpfc_scsi.c:915:41: sparse: sparse: cast to restricted __le32
drivers/scsi/lpfc/lpfc_scsi.c:956:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] fcpDl @@ got restricted __be32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:956:25: sparse: expected unsigned int [usertype] fcpDl
drivers/scsi/lpfc/lpfc_scsi.c:956:25: sparse: got restricted __be32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:1088:69: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] prot_data @@ got restricted __be32 [usertype] ref_tag @@
drivers/scsi/lpfc/lpfc_scsi.c:1088:69: sparse: expected unsigned int [usertype] prot_data
drivers/scsi/lpfc/lpfc_scsi.c:1088:69: sparse: got restricted __be32 [usertype] ref_tag
drivers/scsi/lpfc/lpfc_scsi.c:1209:69: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] prot_data @@ got restricted __be16 [usertype] app_tag @@
drivers/scsi/lpfc/lpfc_scsi.c:1209:69: sparse: expected unsigned int [usertype] prot_data
drivers/scsi/lpfc/lpfc_scsi.c:1209:69: sparse: got restricted __be16 [usertype] app_tag
drivers/scsi/lpfc/lpfc_scsi.c:1610:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] word0 @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:1610:21: sparse: expected unsigned int [usertype] word0
drivers/scsi/lpfc/lpfc_scsi.c:1610:21: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:1611:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] reftag @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:1611:22: sparse: expected unsigned int [usertype] reftag
drivers/scsi/lpfc/lpfc_scsi.c:1611:22: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:1644:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] word0 @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:1644:21: sparse: expected unsigned int [usertype] word0
drivers/scsi/lpfc/lpfc_scsi.c:1644:21: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:1645:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] word1 @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:1645:21: sparse: expected unsigned int [usertype] word1
drivers/scsi/lpfc/lpfc_scsi.c:1645:21: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:1646:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] word2 @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:1646:21: sparse: expected unsigned int [usertype] word2
drivers/scsi/lpfc/lpfc_scsi.c:1646:21: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:1655:32: sparse: sparse: cast to restricted __le32
drivers/scsi/lpfc/lpfc_scsi.c:1656:33: sparse: sparse: cast to restricted __le32
drivers/scsi/lpfc/lpfc_scsi.c:1662:30: sparse: sparse: cast to restricted __le32
drivers/scsi/lpfc/lpfc_scsi.c:1777:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] word0 @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:1777:29: sparse: expected unsigned int [usertype] word0
drivers/scsi/lpfc/lpfc_scsi.c:1777:29: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:1778:30: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] reftag @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:1778:30: sparse: expected unsigned int [usertype] reftag
drivers/scsi/lpfc/lpfc_scsi.c:1778:30: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:1806:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] word0 @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:1806:29: sparse: expected unsigned int [usertype] word0
drivers/scsi/lpfc/lpfc_scsi.c:1806:29: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:1807:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] word1 @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:1807:29: sparse: expected unsigned int [usertype] word1
drivers/scsi/lpfc/lpfc_scsi.c:1807:29: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:1808:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] word2 @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:1808:29: sparse: expected unsigned int [usertype] word2
drivers/scsi/lpfc/lpfc_scsi.c:1808:29: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:1825:34: sparse: sparse: cast to restricted __le32
drivers/scsi/lpfc/lpfc_scsi.c:1826:33: sparse: sparse: cast to restricted __le32
drivers/scsi/lpfc/lpfc_scsi.c:1860:40: sparse: sparse: cast to restricted __le32
drivers/scsi/lpfc/lpfc_scsi.c:1861:41: sparse: sparse: cast to restricted __le32
drivers/scsi/lpfc/lpfc_scsi.c:1884:38: sparse: sparse: cast to restricted __le32
drivers/scsi/lpfc/lpfc_scsi.c:2000:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] ref_tag @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:2000:25: sparse: expected unsigned int [usertype] ref_tag
drivers/scsi/lpfc/lpfc_scsi.c:2000:25: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:2027:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] word2 @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:2027:23: sparse: expected unsigned int [usertype] word2
drivers/scsi/lpfc/lpfc_scsi.c:2027:23: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:2028:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] word3 @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:2028:23: sparse: expected unsigned int [usertype] word3
drivers/scsi/lpfc/lpfc_scsi.c:2028:23: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:2053:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] addr_lo @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:2053:38: sparse: expected unsigned int [usertype] addr_lo
drivers/scsi/lpfc/lpfc_scsi.c:2053:38: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:2055:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] addr_hi @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:2055:38: sparse: expected unsigned int [usertype] addr_hi
drivers/scsi/lpfc/lpfc_scsi.c:2055:38: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:2067:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] addr_lo @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:2067:38: sparse: expected unsigned int [usertype] addr_lo
drivers/scsi/lpfc/lpfc_scsi.c:2067:38: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:2068:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] addr_hi @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:2068:38: sparse: expected unsigned int [usertype] addr_hi
drivers/scsi/lpfc/lpfc_scsi.c:2068:38: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:2071:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] word2 @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:2071:36: sparse: expected unsigned int [usertype] word2
drivers/scsi/lpfc/lpfc_scsi.c:2071:36: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:2072:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] sge_len @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:2072:38: sparse: expected unsigned int [usertype] sge_len
drivers/scsi/lpfc/lpfc_scsi.c:2072:38: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:2082:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] word2 @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:2082:36: sparse: expected unsigned int [usertype] word2
drivers/scsi/lpfc/lpfc_scsi.c:2082:36: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:2083:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] sge_len @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:2083:38: sparse: expected unsigned int [usertype] sge_len
drivers/scsi/lpfc/lpfc_scsi.c:2083:38: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:2214:46: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] addr_lo @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:2214:46: sparse: expected unsigned int [usertype] addr_lo
drivers/scsi/lpfc/lpfc_scsi.c:2214:46: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:2216:46: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] addr_hi @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:2216:46: sparse: expected unsigned int [usertype] addr_hi
drivers/scsi/lpfc/lpfc_scsi.c:2216:46: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:2220:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] word2 @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:2220:36: sparse: expected unsigned int [usertype] word2
drivers/scsi/lpfc/lpfc_scsi.c:2220:36: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:2221:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] sge_len @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:2221:38: sparse: expected unsigned int [usertype] sge_len
drivers/scsi/lpfc/lpfc_scsi.c:2221:38: sparse: got restricted __le32 [usertype]
drivers/scsi/lpfc/lpfc_scsi.c:2233:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] ref_tag @@ got restricted __le32 [usertype] @@
drivers/scsi/lpfc/lpfc_scsi.c:2233:33: sparse: expected unsigned int [usertype] ref_tag
drivers/scsi/lpfc/lpfc_scsi.c:2233:33: sparse: got restricted __le32 [usertype]
vim +823 drivers/scsi/lpfc/lpfc_scsi.c
579
580 /**
581 * lpfc_get_scsi_buf_s3 - Get a scsi buffer from lpfc_scsi_buf_list of the HBA
582 * @phba: The HBA for which this call is being executed.
583 * @ndlp: pointer to a node-list data structure.
584 * @cmnd: Pointer to scsi_cmnd data structure.
585 *
586 * This routine removes a scsi buffer from head of @phba lpfc_scsi_buf_list list
587 * and returns to caller.
588 *
589 * Return codes:
590 * NULL - Error
591 * Pointer to lpfc_scsi_buf - Success
592 **/
593 static struct lpfc_io_buf *
594 lpfc_get_scsi_buf_s3(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp,
595 struct scsi_cmnd *cmnd)
596 {
597 struct lpfc_io_buf *lpfc_cmd = NULL;
598 struct list_head *scsi_buf_list_get = &phba->lpfc_scsi_buf_list_get;
599 unsigned long iflag = 0;
600
601 spin_lock_irqsave(&phba->scsi_buf_list_get_lock, iflag);
602 list_remove_head(scsi_buf_list_get, lpfc_cmd, struct lpfc_io_buf,
603 list);
604 if (!lpfc_cmd) {
605 spin_lock(&phba->scsi_buf_list_put_lock);
606 list_splice(&phba->lpfc_scsi_buf_list_put,
607 &phba->lpfc_scsi_buf_list_get);
608 INIT_LIST_HEAD(&phba->lpfc_scsi_buf_list_put);
609 list_remove_head(scsi_buf_list_get, lpfc_cmd,
610 struct lpfc_io_buf, list);
611 spin_unlock(&phba->scsi_buf_list_put_lock);
612 }
613 spin_unlock_irqrestore(&phba->scsi_buf_list_get_lock, iflag);
614
615 if (lpfc_ndlp_check_qdepth(phba, ndlp) && lpfc_cmd) {
616 atomic_inc(&ndlp->cmd_pending);
617 lpfc_cmd->flags |= LPFC_SBUF_BUMP_QDEPTH;
618 }
619 return lpfc_cmd;
620 }
621 /**
622 * lpfc_get_scsi_buf_s4 - Get a scsi buffer from io_buf_list of the HBA
623 * @phba: The HBA for which this call is being executed.
624 * @ndlp: pointer to a node-list data structure.
625 * @cmnd: Pointer to scsi_cmnd data structure.
626 *
627 * This routine removes a scsi buffer from head of @hdwq io_buf_list
628 * and returns to caller.
629 *
630 * Return codes:
631 * NULL - Error
632 * Pointer to lpfc_scsi_buf - Success
633 **/
634 static struct lpfc_io_buf *
635 lpfc_get_scsi_buf_s4(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp,
636 struct scsi_cmnd *cmnd)
637 {
638 struct lpfc_io_buf *lpfc_cmd;
639 struct lpfc_sli4_hdw_queue *qp;
640 struct sli4_sge *sgl;
641 dma_addr_t pdma_phys_fcp_rsp;
642 dma_addr_t pdma_phys_fcp_cmd;
643 uint32_t cpu, idx;
644 int tag;
645 struct fcp_cmd_rsp_buf *tmp = NULL;
646
647 cpu = raw_smp_processor_id();
648 if (cmnd && phba->cfg_fcp_io_sched == LPFC_FCP_SCHED_BY_HDWQ) {
649 tag = blk_mq_unique_tag(cmnd->request);
650 idx = blk_mq_unique_tag_to_hwq(tag);
651 } else {
652 idx = phba->sli4_hba.cpu_map[cpu].hdwq;
653 }
654
655 lpfc_cmd = lpfc_get_io_buf(phba, ndlp, idx,
656 !phba->cfg_xri_rebalancing);
657 if (!lpfc_cmd) {
658 qp = &phba->sli4_hba.hdwq[idx];
659 qp->empty_io_bufs++;
660 return NULL;
661 }
662
663 /* Setup key fields in buffer that may have been changed
664 * if other protocols used this buffer.
665 */
666 lpfc_cmd->cur_iocbq.iocb_flag = LPFC_IO_FCP;
667 lpfc_cmd->prot_seg_cnt = 0;
668 lpfc_cmd->seg_cnt = 0;
669 lpfc_cmd->timeout = 0;
670 lpfc_cmd->flags = 0;
671 lpfc_cmd->start_time = jiffies;
672 lpfc_cmd->waitq = NULL;
673 lpfc_cmd->cpu = cpu;
674 #ifdef CONFIG_SCSI_LPFC_DEBUG_FS
675 lpfc_cmd->prot_data_type = 0;
676 #endif
677 tmp = lpfc_get_cmd_rsp_buf_per_hdwq(phba, lpfc_cmd);
678 if (!tmp) {
679 lpfc_release_io_buf(phba, lpfc_cmd, lpfc_cmd->hdwq);
680 return NULL;
681 }
682
683 lpfc_cmd->fcp_cmnd = tmp->fcp_cmnd;
684 lpfc_cmd->fcp_rsp = tmp->fcp_rsp;
685
686 /*
687 * The first two SGEs are the FCP_CMD and FCP_RSP.
688 * The balance are sg list bdes. Initialize the
689 * first two and leave the rest for queuecommand.
690 */
691 sgl = (struct sli4_sge *)lpfc_cmd->dma_sgl;
692 pdma_phys_fcp_cmd = tmp->fcp_cmd_rsp_dma_handle;
693 sgl->addr_hi = cpu_to_le32(putPaddrHigh(pdma_phys_fcp_cmd));
694 sgl->addr_lo = cpu_to_le32(putPaddrLow(pdma_phys_fcp_cmd));
695 sgl->word2 = le32_to_cpu(sgl->word2);
696 bf_set(lpfc_sli4_sge_last, sgl, 0);
697 sgl->word2 = cpu_to_le32(sgl->word2);
698 sgl->sge_len = cpu_to_le32(sizeof(struct fcp_cmnd));
699 sgl++;
700
701 /* Setup the physical region for the FCP RSP */
702 pdma_phys_fcp_rsp = pdma_phys_fcp_cmd + sizeof(struct fcp_cmnd);
703 sgl->addr_hi = cpu_to_le32(putPaddrHigh(pdma_phys_fcp_rsp));
> 704 sgl->addr_lo = cpu_to_le32(putPaddrLow(pdma_phys_fcp_rsp));
705 sgl->word2 = le32_to_cpu(sgl->word2);
706 bf_set(lpfc_sli4_sge_last, sgl, 1);
707 sgl->word2 = cpu_to_le32(sgl->word2);
708 sgl->sge_len = cpu_to_le32(sizeof(struct fcp_rsp));
709
710 if (lpfc_ndlp_check_qdepth(phba, ndlp)) {
711 atomic_inc(&ndlp->cmd_pending);
712 lpfc_cmd->flags |= LPFC_SBUF_BUMP_QDEPTH;
713 }
714 return lpfc_cmd;
715 }
716 /**
717 * lpfc_get_scsi_buf - Get a scsi buffer from lpfc_scsi_buf_list of the HBA
718 * @phba: The HBA for which this call is being executed.
719 * @ndlp: pointer to a node-list data structure.
720 * @cmnd: Pointer to scsi_cmnd data structure.
721 *
722 * This routine removes a scsi buffer from head of @phba lpfc_scsi_buf_list list
723 * and returns to caller.
724 *
725 * Return codes:
726 * NULL - Error
727 * Pointer to lpfc_scsi_buf - Success
728 **/
729 static struct lpfc_io_buf*
730 lpfc_get_scsi_buf(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp,
731 struct scsi_cmnd *cmnd)
732 {
733 return phba->lpfc_get_scsi_buf(phba, ndlp, cmnd);
734 }
735
736 /**
737 * lpfc_release_scsi_buf - Return a scsi buffer back to hba scsi buf list
738 * @phba: The Hba for which this call is being executed.
739 * @psb: The scsi buffer which is being released.
740 *
741 * This routine releases @psb scsi buffer by adding it to tail of @phba
742 * lpfc_scsi_buf_list list.
743 **/
744 static void
745 lpfc_release_scsi_buf_s3(struct lpfc_hba *phba, struct lpfc_io_buf *psb)
746 {
747 unsigned long iflag = 0;
748
749 psb->seg_cnt = 0;
750 psb->prot_seg_cnt = 0;
751
752 spin_lock_irqsave(&phba->scsi_buf_list_put_lock, iflag);
753 psb->pCmd = NULL;
754 psb->cur_iocbq.iocb_flag = LPFC_IO_FCP;
755 list_add_tail(&psb->list, &phba->lpfc_scsi_buf_list_put);
756 spin_unlock_irqrestore(&phba->scsi_buf_list_put_lock, iflag);
757 }
758
759 /**
760 * lpfc_release_scsi_buf_s4: Return a scsi buffer back to hba scsi buf list.
761 * @phba: The Hba for which this call is being executed.
762 * @psb: The scsi buffer which is being released.
763 *
764 * This routine releases @psb scsi buffer by adding it to tail of @hdwq
765 * io_buf_list list. For SLI4 XRI's are tied to the scsi buffer
766 * and cannot be reused for at least RA_TOV amount of time if it was
767 * aborted.
768 **/
769 static void
770 lpfc_release_scsi_buf_s4(struct lpfc_hba *phba, struct lpfc_io_buf *psb)
771 {
772 struct lpfc_sli4_hdw_queue *qp;
773 unsigned long iflag = 0;
774
775 psb->seg_cnt = 0;
776 psb->prot_seg_cnt = 0;
777
778 qp = psb->hdwq;
779 if (psb->flags & LPFC_SBUF_XBUSY) {
780 spin_lock_irqsave(&qp->abts_io_buf_list_lock, iflag);
781 psb->pCmd = NULL;
782 list_add_tail(&psb->list, &qp->lpfc_abts_io_buf_list);
783 qp->abts_scsi_io_bufs++;
784 spin_unlock_irqrestore(&qp->abts_io_buf_list_lock, iflag);
785 } else {
786 lpfc_release_io_buf(phba, (struct lpfc_io_buf *)psb, qp);
787 }
788 }
789
790 /**
791 * lpfc_release_scsi_buf: Return a scsi buffer back to hba scsi buf list.
792 * @phba: The Hba for which this call is being executed.
793 * @psb: The scsi buffer which is being released.
794 *
795 * This routine releases @psb scsi buffer by adding it to tail of @phba
796 * lpfc_scsi_buf_list list.
797 **/
798 static void
799 lpfc_release_scsi_buf(struct lpfc_hba *phba, struct lpfc_io_buf *psb)
800 {
801 if ((psb->flags & LPFC_SBUF_BUMP_QDEPTH) && psb->ndlp)
802 atomic_dec(&psb->ndlp->cmd_pending);
803
804 psb->flags &= ~LPFC_SBUF_BUMP_QDEPTH;
805 phba->lpfc_release_scsi_buf(phba, psb);
806 }
807
808 /**
809 * lpfc_fcpcmd_to_iocb - copy the fcp_cmd data into the IOCB
810 * @data: A pointer to the immediate command data portion of the IOCB.
811 * @fcp_cmnd: The FCP Command that is provided by the SCSI layer.
812 *
813 * The routine copies the entire FCP command from @fcp_cmnd to @data while
814 * byte swapping the data to big endian format for transmission on the wire.
815 **/
816 static void
817 lpfc_fcpcmd_to_iocb(u8 *data, struct fcp_cmnd *fcp_cmnd)
818 {
819 int i, j;
820
821 for (i = 0, j = 0; i < sizeof(struct fcp_cmnd);
822 i += sizeof(uint32_t), j++) {
> 823 ((uint32_t *)data)[j] = cpu_to_be32(((uint32_t *)fcp_cmnd)[j]);
824 }
825 }
826
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
Re: [RFC] sched/rt: Fix RT (group) throttling with nohz_full
by kernel test robot
Hi Jonathan,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on tip/sched/core]
[also build test ERROR on next-20210125]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Jonathan-Schwender/sched-rt-Fix-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 7a976f77bb962ce9486e09eb839aa135619b54f3
config: x86_64-randconfig-a013-20210201 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 275c6af7d7f1ed63a03d05b4484413e447133269)
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 x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/0day-ci/linux/commit/f2f23b24036429e0d47deb121f16367a2...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Jonathan-Schwender/sched-rt-Fix-RT-group-throttling-with-nohz_full/20210201-173818
git checkout f2f23b24036429e0d47deb121f16367a2444247e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
kernel/sched/rt.c:669:6: warning: no previous prototype for function 'sched_rt_bandwidth_account' [-Wmissing-prototypes]
bool sched_rt_bandwidth_account(struct rt_rq *rt_rq)
^
kernel/sched/rt.c:669:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
bool sched_rt_bandwidth_account(struct rt_rq *rt_rq)
^
static
>> kernel/sched/rt.c:876:35: error: no member named 'cpu' in 'struct rq'
&& housekeeping_cpu(this_rq()->cpu, HK_FLAG_TIMER))) {
~~~~~~~~~ ^
1 warning and 1 error generated.
vim +876 kernel/sched/rt.c
853
854 static int do_sched_rt_period_timer(struct rt_bandwidth *rt_b, int overrun)
855 {
856 int i, idle = 1, throttled = 0;
857 const struct cpumask *span;
858
859 span = sched_rt_period_mask();
860 #ifdef CONFIG_RT_GROUP_SCHED
861 /*
862 * FIXME: isolated CPUs should really leave the root task group,
863 * whether they are isolcpus or were isolated via cpusets, lest
864 * the timer run on a CPU which does not service all runqueues,
865 * potentially leaving other CPUs indefinitely throttled. If
866 * isolation is really required, the user will turn the throttle
867 * off to kill the perturbations it causes anyway. Meanwhile,
868 * this maintains functionality for boot and/or troubleshooting.
869 * If nohz_full is active and the timer was offloaded to a
870 * housekeeping CPU, sched_rt_period_mask() will not contain
871 * the isolated CPU. To prevent indefinite throttling of tasks
872 * on isolated CPUs, housekeeping CPUs service all online CPUs.
873 */
874 if (rt_b == &root_task_group.rt_bandwidth
875 || (housekeeping_enabled(HK_FLAG_TIMER)
> 876 && housekeeping_cpu(this_rq()->cpu, HK_FLAG_TIMER))) {
877 span = cpu_online_mask;
878 }
879 #endif
880 for_each_cpu(i, span) {
881 int enqueue = 0;
882 struct rt_rq *rt_rq = sched_rt_period_rt_rq(rt_b, i);
883 struct rq *rq = rq_of_rt_rq(rt_rq);
884 int skip;
885
886 /*
887 * When span == cpu_online_mask, taking each rq->lock
888 * can be time-consuming. Try to avoid it when possible.
889 */
890 raw_spin_lock(&rt_rq->rt_runtime_lock);
891 if (!sched_feat(RT_RUNTIME_SHARE) && rt_rq->rt_runtime != RUNTIME_INF)
892 rt_rq->rt_runtime = rt_b->rt_runtime;
893 skip = !rt_rq->rt_time && !rt_rq->rt_nr_running;
894 raw_spin_unlock(&rt_rq->rt_runtime_lock);
895 if (skip)
896 continue;
897
898 raw_spin_lock(&rq->lock);
899 update_rq_clock(rq);
900
901 if (rt_rq->rt_time) {
902 u64 runtime;
903
904 raw_spin_lock(&rt_rq->rt_runtime_lock);
905 if (rt_rq->rt_throttled)
906 balance_runtime(rt_rq);
907 runtime = rt_rq->rt_runtime;
908 rt_rq->rt_time -= min(rt_rq->rt_time, overrun*runtime);
909 if (rt_rq->rt_throttled && rt_rq->rt_time < runtime) {
910 rt_rq->rt_throttled = 0;
911 enqueue = 1;
912
913 /*
914 * When we're idle and a woken (rt) task is
915 * throttled check_preempt_curr() will set
916 * skip_update and the time between the wakeup
917 * and this unthrottle will get accounted as
918 * 'runtime'.
919 */
920 if (rt_rq->rt_nr_running && rq->curr == rq->idle)
921 rq_clock_cancel_skipupdate(rq);
922 }
923 if (rt_rq->rt_time || rt_rq->rt_nr_running)
924 idle = 0;
925 raw_spin_unlock(&rt_rq->rt_runtime_lock);
926 } else if (rt_rq->rt_nr_running) {
927 idle = 0;
928 if (!rt_rq_throttled(rt_rq))
929 enqueue = 1;
930 }
931 if (rt_rq->rt_throttled)
932 throttled = 1;
933
934 if (enqueue)
935 sched_rt_rq_enqueue(rt_rq);
936 raw_spin_unlock(&rq->lock);
937 }
938
939 if (!throttled && (!rt_bandwidth_enabled() || rt_b->rt_runtime == RUNTIME_INF))
940 return 1;
941
942 return idle;
943 }
944
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[intel-linux-intel-lts:4.19/android_r 19120/21556] drivers/gpu/drm/i915/intel_hdcp.c:183:28: error: no previous prototype for function 'conn_to_dig_port'
by kernel test robot
tree: https://github.com/intel/linux-intel-lts.git 4.19/android_r
head: 968adf904a287574c10a384c2e3b1e88994ad843
commit: b652a52d36a85d1b731921ba08e701d7150ce200 [19120/21556] Merge branch 'aosp/android-4.19-stable' into android_r
config: x86_64-randconfig-a013-20210201 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 275c6af7d7f1ed63a03d05b4484413e447133269)
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 x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/intel/linux-intel-lts/commit/b652a52d36a85d1b731921ba0...
git remote add intel-linux-intel-lts https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-linux-intel-lts 4.19/android_r
git checkout b652a52d36a85d1b731921ba08e701d7150ce200
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from drivers/media/pci/intel/ipu3/ipu3-cio2.c:15:
In file included from include/linux/delay.h:22:
In file included from include/linux/kernel.h:10:
In file included from include/linux/bitops.h:19:
In file included from arch/x86/include/asm/bitops.h:510:
In file included from include/asm-generic/bitops/le.h:6:
In file included from arch/x86/include/uapi/asm/byteorder.h:5:
In file included from include/linux/byteorder/little_endian.h:11:
>> include/linux/byteorder/generic.h:195:16: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
for (i = 0; i < len; i++)
~ ^ ~~~
include/linux/byteorder/generic.h:203:16: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
for (i = 0; i < len; i++)
~ ^ ~~~
In file included from drivers/media/pci/intel/ipu3/ipu3-cio2.c:16:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:5:
In file included from include/linux/preempt.h:81:
In file included from arch/x86/include/asm/preempt.h:7:
>> include/linux/thread_info.h:141:29: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
if (unlikely(sz >= 0 && sz < bytes)) {
~~ ^ ~~~~~
include/linux/compiler.h:77:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
In file included from drivers/media/pci/intel/ipu3/ipu3-cio2.c:17:
In file included from include/linux/module.h:13:
In file included from include/linux/kmod.h:22:
In file included from include/linux/umh.h:4:
In file included from include/linux/gfp.h:6:
>> include/linux/mmzone.h:1005:44: warning: comparison of integers of different signs: 'int' and 'enum zone_type' [-Wsign-compare]
if (likely(!nodes && zonelist_zone_idx(z) <= highest_zoneidx))
~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
include/linux/compiler.h:76:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
In file included from drivers/media/pci/intel/ipu3/ipu3-cio2.c:18:
In file included from include/linux/pci.h:1365:
In file included from include/linux/dmapool.h:14:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:20:
include/linux/percpu-refcount.h:183:3: warning: comparison of integers of different signs: 'unsigned long' and 'int' [-Wsign-compare]
this_cpu_add(*percpu_count, nr);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:510:33: note: expanded from macro 'this_cpu_add'
#define this_cpu_add(pcp, val) __pcpu_size_call(this_cpu_add_, pcp, val)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:381:11: note: expanded from macro '__pcpu_size_call'
case 8: stem##8(variable, __VA_ARGS__);break; \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<scratch space>:165:1: note: expanded from here
this_cpu_add_8
^
arch/x86/include/asm/percpu.h:480:35: note: expanded from macro 'this_cpu_add_8'
#define this_cpu_add_8(pcp, val) percpu_add_op((pcp), val)
^~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/percpu.h:131:31: note: expanded from macro 'percpu_add_op'
((val) == 1 || (val) == -1)) ? \
~~~ ^ ~~
In file included from drivers/media/pci/intel/ipu3/ipu3-cio2.c:18:
In file included from include/linux/pci.h:1365:
In file included from include/linux/dmapool.h:14:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:20:
include/linux/percpu-refcount.h:282:3: warning: comparison of integers of different signs: 'unsigned long' and 'int' [-Wsign-compare]
this_cpu_sub(*percpu_count, nr);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:520:33: note: expanded from macro 'this_cpu_sub'
#define this_cpu_sub(pcp, val) this_cpu_add(pcp, -(typeof(pcp))(val))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:510:33: note: expanded from macro 'this_cpu_add'
#define this_cpu_add(pcp, val) __pcpu_size_call(this_cpu_add_, pcp, val)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:381:11: note: expanded from macro '__pcpu_size_call'
case 8: stem##8(variable, __VA_ARGS__);break; \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<scratch space>:325:1: note: expanded from here
this_cpu_add_8
^
arch/x86/include/asm/percpu.h:480:35: note: expanded from macro 'this_cpu_add_8'
#define this_cpu_add_8(pcp, val) percpu_add_op((pcp), val)
^~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/percpu.h:131:31: note: expanded from macro 'percpu_add_op'
((val) == 1 || (val) == -1)) ? \
~~~ ^ ~~
In file included from drivers/media/pci/intel/ipu3/ipu3-cio2.c:18:
In file included from include/linux/pci.h:1365:
In file included from include/linux/dmapool.h:14:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:26:
In file included from include/linux/page_ref.h:7:
>> include/linux/page-flags.h:163:21: warning: comparison of integers of different signs: 'const unsigned long' and 'long' [-Wsign-compare]
return page->flags == PAGE_POISON_PATTERN;
~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
>> drivers/media/pci/intel/ipu3/ipu3-cio2.c:862:16: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
for (i = 0; i < lops; i++) {
~ ^ ~~~~
8 warnings generated.
--
>> drivers/gpu/drm/i915/intel_hdcp.c:183:28: error: no previous prototype for function 'conn_to_dig_port' [-Werror,-Wmissing-prototypes]
struct intel_digital_port *conn_to_dig_port(struct intel_connector *connector)
^
drivers/gpu/drm/i915/intel_hdcp.c:183:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
struct intel_digital_port *conn_to_dig_port(struct intel_connector *connector)
^
static
>> drivers/gpu/drm/i915/intel_hdcp.c:846:5: error: no previous prototype for function 'intel_hdcp_enable' [-Werror,-Wmissing-prototypes]
int intel_hdcp_enable(struct intel_connector *connector)
^
drivers/gpu/drm/i915/intel_hdcp.c:846:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int intel_hdcp_enable(struct intel_connector *connector)
^
static
>> drivers/gpu/drm/i915/intel_hdcp.c:858:5: error: no previous prototype for function 'intel_hdcp_disable' [-Werror,-Wmissing-prototypes]
int intel_hdcp_disable(struct intel_connector *connector)
^
drivers/gpu/drm/i915/intel_hdcp.c:858:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int intel_hdcp_disable(struct intel_connector *connector)
^
static
3 errors generated.
--
>> drivers/gpu/drm/i915/i915_gem_gvtbuffer.c:116:1: error: no previous prototype for function 'i915_gem_object_create_gvtbuffer' [-Werror,-Wmissing-prototypes]
i915_gem_object_create_gvtbuffer(struct drm_device *dev,
^
drivers/gpu/drm/i915/i915_gem_gvtbuffer.c:115:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
struct drm_i915_gem_object *
^
static
1 error generated.
--
>> drivers/gpu/drm/i915/gvt/display.c:527:5: error: no previous prototype for function 'bxt_check_planes' [-Werror,-Wmissing-prototypes]
int bxt_check_planes(struct intel_vgpu *vgpu, int pipe)
^
drivers/gpu/drm/i915/gvt/display.c:527:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int bxt_check_planes(struct intel_vgpu *vgpu, int pipe)
^
static
>> drivers/gpu/drm/i915/gvt/display.c:543:6: error: no previous prototype for function 'intel_gvt_init_pipe_info' [-Werror,-Wmissing-prototypes]
void intel_gvt_init_pipe_info(struct intel_gvt *gvt)
^
drivers/gpu/drm/i915/gvt/display.c:543:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void intel_gvt_init_pipe_info(struct intel_gvt *gvt)
^
static
>> drivers/gpu/drm/i915/gvt/display.c:568:5: error: no previous prototype for function 'setup_virtual_monitors' [-Werror,-Wmissing-prototypes]
int setup_virtual_monitors(struct intel_vgpu *vgpu)
^
drivers/gpu/drm/i915/gvt/display.c:568:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int setup_virtual_monitors(struct intel_vgpu *vgpu)
^
static
>> drivers/gpu/drm/i915/gvt/display.c:606:6: error: no previous prototype for function 'clean_virtual_monitors' [-Werror,-Wmissing-prototypes]
void clean_virtual_monitors(struct intel_vgpu *vgpu)
^
drivers/gpu/drm/i915/gvt/display.c:606:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void clean_virtual_monitors(struct intel_vgpu *vgpu)
^
static
4 errors generated.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for FB_BACKLIGHT
Depends on HAS_IOMEM && FB
Selected by
- DRM_NOUVEAU && HAS_IOMEM && DRM && PCI && MMU && DRM_NOUVEAU_BACKLIGHT
vim +/conn_to_dig_port +183 drivers/gpu/drm/i915/intel_hdcp.c
ee5e5e7a5e0fde Sean Paul 2018-01-08 182
54c9b1c8df1df8 Romli, Khairul Anuar 2018-10-09 @183 struct intel_digital_port *conn_to_dig_port(struct intel_connector *connector)
54c9b1c8df1df8 Romli, Khairul Anuar 2018-10-09 184 {
54c9b1c8df1df8 Romli, Khairul Anuar 2018-10-09 185 return enc_to_dig_port(&intel_attached_encoder(&connector->base)->base);
54c9b1c8df1df8 Romli, Khairul Anuar 2018-10-09 186 }
54c9b1c8df1df8 Romli, Khairul Anuar 2018-10-09 187
:::::: The code at line 183 was first introduced by commit
:::::: 54c9b1c8df1df89c0173aad2d559884a305c797c drm/i915: Passing the intel_connector to HDCP auth
:::::: TO: Romli, Khairul Anuar <khairul.anuar.romli(a)intel.com>
:::::: CC: Pan, Kris <kris.pan(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
Re: [PATCH v3 06/11] iio: core: merge buffer/ & scan_elements/ attributes
by kernel test robot
Hi Alexandru,
I love your patch! Perhaps something to improve:
[auto build test WARNING on iio/togreg]
[also build test WARNING on linux/master next-20210125]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Alexandru-Ardelean/iio-core-buff...
base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
config: openrisc-randconfig-p001-20210201 (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.3.0
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://github.com/0day-ci/linux/commit/418ff389a5a48a8a515a106734474e98d...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Alexandru-Ardelean/iio-core-buffer-add-support-for-multiple-IIO-buffers-per-IIO-device/20210201-233550
git checkout 418ff389a5a48a8a515a106734474e98d6d924ad
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=openrisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/iio/industrialio-buffer.c:1306:6: warning: no previous prototype for 'iio_buffer_unregister_legacy_sysfs_groups' [-Wmissing-prototypes]
1306 | void iio_buffer_unregister_legacy_sysfs_groups(struct iio_dev *indio_dev)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/industrialio-buffer.c:1178:27: warning: 'iio_scan_elements_group_name' defined but not used [-Wunused-const-variable=]
1178 | static const char * const iio_scan_elements_group_name = "scan_elements";
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/iio_buffer_unregister_legacy_sysfs_groups +1306 drivers/iio/industrialio-buffer.c
1305
> 1306 void iio_buffer_unregister_legacy_sysfs_groups(struct iio_dev *indio_dev)
1307 {
1308 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
1309
1310 kfree(iio_dev_opaque->legacy_buffer_group.attrs);
1311 kfree(iio_dev_opaque->legacy_scan_el_group.attrs);
1312 }
1313
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
Re: [PATCH bpf-next V14 5/7] bpf: drop MTU check when doing TC-BPF redirect to ingress
by kernel test robot
Hi Jesper,
I love your patch! Perhaps something to improve:
[auto build test WARNING on bpf-next/master]
url: https://github.com/0day-ci/linux/commits/Jesper-Dangaard-Brouer/bpf-New-a...
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: x86_64-randconfig-r014-20210201 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 275c6af7d7f1ed63a03d05b4484413e447133269)
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 x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/0day-ci/linux/commit/8d1404896e0346004412f5ffd64ef92ac...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Jesper-Dangaard-Brouer/bpf-New-approach-for-BPF-MTU-handling/20210201-185654
git checkout 8d1404896e0346004412f5ffd64ef92ac578e5de
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> net/core/dev.c:2201:5: warning: no previous prototype for function '__dev_forward_skb2' [-Wmissing-prototypes]
int __dev_forward_skb2(struct net_device *dev, struct sk_buff *skb,
^
net/core/dev.c:2201:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __dev_forward_skb2(struct net_device *dev, struct sk_buff *skb,
^
static
net/core/dev.c:4937:1: warning: unused function 'sch_handle_ingress' [-Wunused-function]
sch_handle_ingress(struct sk_buff *skb, struct packet_type **pt_prev, int *ret,
^
net/core/dev.c:5086:19: warning: unused function 'nf_ingress' [-Wunused-function]
static inline int nf_ingress(struct sk_buff *skb, struct packet_type **pt_prev,
^
3 warnings generated.
vim +/__dev_forward_skb2 +2201 net/core/dev.c
2200
> 2201 int __dev_forward_skb2(struct net_device *dev, struct sk_buff *skb,
2202 bool check_mtu)
2203 {
2204 int ret = ____dev_forward_skb(dev, skb, check_mtu);
2205
2206 if (likely(!ret)) {
2207 skb->protocol = eth_type_trans(skb, dev);
2208 skb_postpull_rcsum(skb, eth_hdr(skb), ETH_HLEN);
2209 }
2210
2211 return ret;
2212 }
2213
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months