what to do with a private BUILD REGRESSION report ?
by jim.cromie@gmail.com
I recently (3 hrs ago) got a report from lkp
[jimc:dd-drm-next] BUILD REGRESSION 72004a480e5609bb441794ac5e75fc2aa95ca500
Why is this a private email, and not sent to kbuild-all too ?
It seems counter to convention,
and all my other brown-bag errors are splayed out for ridicule ;-)
and more importantly...
why is it different than the more public reports ?
did this revision get further than previous ones ?
what milestone did it reach ?
As to its contents
Error/Warning in current branch:
drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_debug.c:63:54: error: expected ')' before string constant
lib/dynamic_debug.c:1227:52: error: invalid use of undefined type 'struct module'
possible Error/Warning in current branch:
drivers/gpu/drm/drm_print.c:62:52: error: expected ')' before string constant
lib/dynamic_debug.c:1227:52: error: incomplete definition of type 'struct module'
it looks like a proper compile err,
why is it reported this way, and not like others Ive received (this from 8/5)
[kbuild-all] [jimc:dd-drm-next 7/8] drivers/gpu/drm/drm_print.c:64:41: error: expected ')' before string constant
those others include triggering .config, and cross compile script
is the difference that the error is on 8/8, after I shuffled patch order ?
lkp ran the patchset on a lot of configs,
are these configs available for download ?
If they are, could you add a link to the report ?
thanks,
Jim
11 months, 2 weeks
drivers/crypto/qat/qat_c62xvf/adf_c62xvf_hw_data.c:102:28: warning: taking address of packed member 'csr_ops' of class or structure 'adf_hw_device_data' may result in an unaligned pointer value
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b91db6a0b52e019b6bdabea3f1dbe36d85c7e52c
commit: f9c697c4bfc6002d92e8015b65fe2a79acadb416 crypto: qat - split transport CSR access logic
date: 10 months ago
config: i386-randconfig-r012-20210831 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 4b1fde8a2b681dad2ce0c082a5d6422caa06b0bc)
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 f9c697c4bfc6002d92e8015b65fe2a79acadb416
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross 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 >>):
clang-14: warning: optimization flag '-falign-jumps=0' is not supported [-Wignored-optimization-argument]
In file included from drivers/crypto/qat/qat_c62xvf/adf_c62xvf_hw_data.c:3:
In file included from drivers/crypto/qat/qat_c62xvf/../qat_common/adf_accel_devices.h:5:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:5:
In file included from include/linux/context_tracking_state.h:5:
In file included from include/linux/percpu.h:6:
In file included from include/linux/preempt.h:78:
In file included from arch/x86/include/asm/preempt.h:7:
In file included from include/linux/thread_info.h:38:
arch/x86/include/asm/thread_info.h:183:13: warning: calling '__builtin_frame_address' with a nonzero argument is unsafe [-Wframe-address]
oldframe = __builtin_frame_address(1);
^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/thread_info.h:185:11: warning: calling '__builtin_frame_address' with a nonzero argument is unsafe [-Wframe-address]
frame = __builtin_frame_address(2);
^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/crypto/qat/qat_c62xvf/adf_c62xvf_hw_data.c:102:28: warning: taking address of packed member 'csr_ops' of class or structure 'adf_hw_device_data' may result in an unaligned pointer value [-Waddress-of-packed-member]
adf_gen2_init_hw_csr_ops(&hw_data->csr_ops);
^~~~~~~~~~~~~~~~
3 warnings generated.
vim +102 drivers/crypto/qat/qat_c62xvf/adf_c62xvf_hw_data.c
68
69 void adf_init_hw_data_c62xiov(struct adf_hw_device_data *hw_data)
70 {
71 hw_data->dev_class = &c62xiov_class;
72 hw_data->num_banks = ADF_C62XIOV_ETR_MAX_BANKS;
73 hw_data->num_rings_per_bank = ADF_ETR_MAX_RINGS_PER_BANK;
74 hw_data->num_accel = ADF_C62XIOV_MAX_ACCELERATORS;
75 hw_data->num_logical_accel = 1;
76 hw_data->num_engines = ADF_C62XIOV_MAX_ACCELENGINES;
77 hw_data->tx_rx_gap = ADF_C62XIOV_RX_RINGS_OFFSET;
78 hw_data->tx_rings_mask = ADF_C62XIOV_TX_RINGS_MASK;
79 hw_data->alloc_irq = adf_vf_isr_resource_alloc;
80 hw_data->free_irq = adf_vf_isr_resource_free;
81 hw_data->enable_error_correction = adf_vf_void_noop;
82 hw_data->init_admin_comms = adf_vf_int_noop;
83 hw_data->exit_admin_comms = adf_vf_void_noop;
84 hw_data->send_admin_init = adf_vf2pf_init;
85 hw_data->init_arb = adf_vf_int_noop;
86 hw_data->exit_arb = adf_vf_void_noop;
87 hw_data->disable_iov = adf_vf2pf_shutdown;
88 hw_data->get_accel_mask = get_accel_mask;
89 hw_data->get_ae_mask = get_ae_mask;
90 hw_data->get_num_accels = get_num_accels;
91 hw_data->get_num_aes = get_num_aes;
92 hw_data->get_etr_bar_id = get_etr_bar_id;
93 hw_data->get_misc_bar_id = get_misc_bar_id;
94 hw_data->get_pf2vf_offset = get_pf2vf_offset;
95 hw_data->get_vintmsk_offset = get_vintmsk_offset;
96 hw_data->get_sku = get_sku;
97 hw_data->enable_ints = adf_vf_void_noop;
98 hw_data->enable_vf2pf_comms = adf_enable_vf2pf_comms;
99 hw_data->min_iov_compat_ver = ADF_PFVF_COMPATIBILITY_VERSION;
100 hw_data->dev_class->instances++;
101 adf_devmgr_update_class_index(hw_data);
> 102 adf_gen2_init_hw_csr_ops(&hw_data->csr_ops);
103 }
104
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 2 weeks
Re: [PATCH net 2/2] ipv4: make exception cache less predictible
by kernel test robot
Hi Eric,
I love your patch! Perhaps something to improve:
[auto build test WARNING on net/master]
url: https://github.com/0day-ci/linux/commits/Eric-Dumazet/inet-make-exception...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git 57f780f1c43362b86fd23d20bd940e2468237716
:::::: branch date: 19 hours ago
:::::: commit date: 19 hours ago
config: x86_64-randconfig-c007-20210830 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 4b1fde8a2b681dad2ce0c082a5d6422caa06b0bc)
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/adf305d00ec06cb771dc960f0d7bd62d0...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Eric-Dumazet/inet-make-exception-handling-less-predictible/20210830-061726
git checkout adf305d00ec06cb771dc960f0d7bd62d07561371
# 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 >>)
>> net/ipv4/route.c:575:7: warning: Dereference of null pointer [clang-analyzer-core.NullDereference]
rt = rcu_dereference(fnhe->fnhe_rth_input);
^
net/ipv4/route.c:592:34: note: 'oldest' initialized to a null pointer value
struct fib_nh_exception *fnhe, *oldest = NULL;
^~~~~~
net/ipv4/route.c:594:2: note: Loop condition is true. Entering loop body
for (fnhe_p = &hash->chain; ; fnhe_p = &fnhe->fnhe_next) {
^
net/ipv4/route.c:595:10: note: Assuming the condition is false
fnhe = rcu_dereference_protected(*fnhe_p,
^
include/linux/rcupdate.h:587:2: note: expanded from macro 'rcu_dereference_protected'
__rcu_dereference_protected((p), (c), __rcu)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:396:19: note: expanded from macro '__rcu_dereference_protected'
RCU_LOCKDEP_WARN(!(c), "suspicious rcu_dereference_protected() usage"); \
~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:318:8: note: expanded from macro 'RCU_LOCKDEP_WARN'
if ((c) && debug_lockdep_rcu_enabled() && !__warned) { \
^
net/ipv4/route.c:595:10: note: Left side of '&&' is false
fnhe = rcu_dereference_protected(*fnhe_p,
^
include/linux/rcupdate.h:587:2: note: expanded from macro 'rcu_dereference_protected'
__rcu_dereference_protected((p), (c), __rcu)
^
include/linux/rcupdate.h:396:2: note: expanded from macro '__rcu_dereference_protected'
RCU_LOCKDEP_WARN(!(c), "suspicious rcu_dereference_protected() usage"); \
^
include/linux/rcupdate.h:318:11: note: expanded from macro 'RCU_LOCKDEP_WARN'
if ((c) && debug_lockdep_rcu_enabled() && !__warned) { \
^
net/ipv4/route.c:595:10: note: Loop condition is false. Exiting loop
fnhe = rcu_dereference_protected(*fnhe_p,
^
include/linux/rcupdate.h:587:2: note: expanded from macro 'rcu_dereference_protected'
__rcu_dereference_protected((p), (c), __rcu)
^
include/linux/rcupdate.h:396:2: note: expanded from macro '__rcu_dereference_protected'
RCU_LOCKDEP_WARN(!(c), "suspicious rcu_dereference_protected() usage"); \
^
include/linux/rcupdate.h:316:2: note: expanded from macro 'RCU_LOCKDEP_WARN'
do { \
^
net/ipv4/route.c:597:7: note: Assuming 'fnhe' is null
if (!fnhe)
^~~~~
net/ipv4/route.c:597:3: note: Taking true branch
if (!fnhe)
^
net/ipv4/route.c:598:4: note: Execution continues on line 605
break;
^
net/ipv4/route.c:605:20: note: Passing null pointer value via 1st parameter 'fnhe'
fnhe_flush_routes(oldest);
^~~~~~
net/ipv4/route.c:605:2: note: Calling 'fnhe_flush_routes'
fnhe_flush_routes(oldest);
^~~~~~~~~~~~~~~~~~~~~~~~~
net/ipv4/route.c:575:7: warning: Dereference of null pointer [clang-analyzer-core.NullDereference]
rt = rcu_dereference(fnhe->fnhe_rth_input);
^
vim +575 net/ipv4/route.c
4895c771c7f006 David S. Miller 2012-07-17 570
2ffae99d1fac27 Timo Teräs 2013-06-27 571 static void fnhe_flush_routes(struct fib_nh_exception *fnhe)
2ffae99d1fac27 Timo Teräs 2013-06-27 572 {
2ffae99d1fac27 Timo Teräs 2013-06-27 573 struct rtable *rt;
2ffae99d1fac27 Timo Teräs 2013-06-27 574
2ffae99d1fac27 Timo Teräs 2013-06-27 @575 rt = rcu_dereference(fnhe->fnhe_rth_input);
2ffae99d1fac27 Timo Teräs 2013-06-27 576 if (rt) {
2ffae99d1fac27 Timo Teräs 2013-06-27 577 RCU_INIT_POINTER(fnhe->fnhe_rth_input, NULL);
95c47f9cf5e028 Wei Wang 2017-06-17 578 dst_dev_put(&rt->dst);
0830106c539001 Wei Wang 2017-06-17 579 dst_release(&rt->dst);
2ffae99d1fac27 Timo Teräs 2013-06-27 580 }
2ffae99d1fac27 Timo Teräs 2013-06-27 581 rt = rcu_dereference(fnhe->fnhe_rth_output);
2ffae99d1fac27 Timo Teräs 2013-06-27 582 if (rt) {
2ffae99d1fac27 Timo Teräs 2013-06-27 583 RCU_INIT_POINTER(fnhe->fnhe_rth_output, NULL);
95c47f9cf5e028 Wei Wang 2017-06-17 584 dst_dev_put(&rt->dst);
0830106c539001 Wei Wang 2017-06-17 585 dst_release(&rt->dst);
2ffae99d1fac27 Timo Teräs 2013-06-27 586 }
2ffae99d1fac27 Timo Teräs 2013-06-27 587 }
2ffae99d1fac27 Timo Teräs 2013-06-27 588
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 2 weeks
Re: [PATCH v5] ixgbe: let the xdpdrv work with more than 64 cpus
by kernel test robot
Hi,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on tnguy-next-queue/dev-queue]
[also build test ERROR on v5.14 next-20210831]
[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/kerneljasonxing-gmail-com/ixgbe-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue.git dev-queue
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 11.2.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/f0b3bac18b36da2a2655486f4c7a39fcf...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review kerneljasonxing-gmail-com/ixgbe-let-the-xdpdrv-work-with-more-than-64-cpus/20210830-204946
git checkout f0b3bac18b36da2a2655486f4c7a39fcf5ef3fc1
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash
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 include/linux/dynamic_debug.h:6,
from include/linux/printk.h:456,
from include/linux/kernel.h:19,
from include/linux/list.h:9,
from include/linux/pci.h:32,
from drivers/net/ethernet/intel/ixgbe/ixgbe.h:9,
from drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.c:4:
drivers/net/ethernet/intel/ixgbe/ixgbe.h: In function 'ixgbe_determine_xdp_q_idx':
>> drivers/net/ethernet/intel/ixgbe/ixgbe.h:780:33: error: 'ixgbe_xdp_locking_key' undeclared (first use in this function)
780 | if (static_key_enabled(&ixgbe_xdp_locking_key))
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/jump_label.h:416:51: note: in definition of macro 'static_key_enabled'
416 | if (!__builtin_types_compatible_p(typeof(*x), struct static_key) && \
| ^
drivers/net/ethernet/intel/ixgbe/ixgbe.h:780:33: note: each undeclared identifier is reported only once for each function it appears in
780 | if (static_key_enabled(&ixgbe_xdp_locking_key))
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/jump_label.h:416:51: note: in definition of macro 'static_key_enabled'
416 | if (!__builtin_types_compatible_p(typeof(*x), struct static_key) && \
| ^
--
In file included from include/linux/dynamic_debug.h:6,
from include/linux/printk.h:456,
from include/linux/kernel.h:19,
from include/linux/list.h:9,
from include/linux/pci.h:32,
from drivers/net/ethernet/intel/ixgbe/ixgbe.h:9,
from drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c:4:
drivers/net/ethernet/intel/ixgbe/ixgbe.h: In function 'ixgbe_determine_xdp_q_idx':
>> drivers/net/ethernet/intel/ixgbe/ixgbe.h:780:33: error: 'ixgbe_xdp_locking_key' undeclared (first use in this function)
780 | if (static_key_enabled(&ixgbe_xdp_locking_key))
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/jump_label.h:416:51: note: in definition of macro 'static_key_enabled'
416 | if (!__builtin_types_compatible_p(typeof(*x), struct static_key) && \
| ^
drivers/net/ethernet/intel/ixgbe/ixgbe.h:780:33: note: each undeclared identifier is reported only once for each function it appears in
780 | if (static_key_enabled(&ixgbe_xdp_locking_key))
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/jump_label.h:416:51: note: in definition of macro 'static_key_enabled'
416 | if (!__builtin_types_compatible_p(typeof(*x), struct static_key) && \
| ^
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c: In function 'ixgbe_free_q_vector':
>> drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c:1039:33: error: 'ixgbe_xdp_locking_key' undeclared (first use in this function)
1039 | if (static_key_enabled(&ixgbe_xdp_locking_key))
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/jump_label.h:416:51: note: in definition of macro 'static_key_enabled'
416 | if (!__builtin_types_compatible_p(typeof(*x), struct static_key) && \
| ^
--
In file included from include/linux/dynamic_debug.h:6,
from include/linux/printk.h:456,
from include/linux/kernel.h:19,
from include/linux/list.h:9,
from include/linux/module.h:12,
from drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:5:
drivers/net/ethernet/intel/ixgbe/ixgbe.h: In function 'ixgbe_determine_xdp_q_idx':
>> drivers/net/ethernet/intel/ixgbe/ixgbe.h:780:33: error: 'ixgbe_xdp_locking_key' undeclared (first use in this function)
780 | if (static_key_enabled(&ixgbe_xdp_locking_key))
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/jump_label.h:416:51: note: in definition of macro 'static_key_enabled'
416 | if (!__builtin_types_compatible_p(typeof(*x), struct static_key) && \
| ^
drivers/net/ethernet/intel/ixgbe/ixgbe.h:780:33: note: each undeclared identifier is reported only once for each function it appears in
780 | if (static_key_enabled(&ixgbe_xdp_locking_key))
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/jump_label.h:416:51: note: in definition of macro 'static_key_enabled'
416 | if (!__builtin_types_compatible_p(typeof(*x), struct static_key) && \
| ^
In file included from drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:42:
drivers/net/ethernet/intel/ixgbe/ixgbe.h:784:1: error: control reaches end of non-void function [-Werror=return-type]
784 | }
| ^
cc1: some warnings being treated as errors
vim +/ixgbe_xdp_locking_key +780 drivers/net/ethernet/intel/ixgbe/ixgbe.h
777
778 static inline int ixgbe_determine_xdp_q_idx(int cpu)
779 {
> 780 if (static_key_enabled(&ixgbe_xdp_locking_key))
781 return cpu % IXGBE_MAX_XDP_QS;
782 else
783 return cpu;
784 }
785
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 2 weeks
Re: [PATCH 3/3] drivers: iio: chemical: Add support for Sensirion SCD4x CO2 sensor
by kernel test robot
Hi Roan,
I love your patch! Perhaps something to improve:
[auto build test WARNING on robh/for-next]
[also build test WARNING on linux/master linus/master v5.14]
[cannot apply to iio/togreg next-20210831]
[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/Roan-van-Dijk/iio-chemical-Add-s...
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: hexagon-randconfig-r036-20210901 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 4b1fde8a2b681dad2ce0c082a5d6422caa06b0bc)
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/605896bbee687d465d4ae58d910878e9b...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Roan-van-Dijk/iio-chemical-Add-support-for-Sensirion-SCD4x-CO2-sensor/20210831-202025
git checkout 605896bbee687d465d4ae58d910878e9b85f0035
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=hexagon
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/chemical/scd4x.c:503:20: warning: no previous prototype for function 'scd4x_suspend' [-Wmissing-prototypes]
int __maybe_unused scd4x_suspend(struct device *dev)
^
drivers/iio/chemical/scd4x.c:503:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __maybe_unused scd4x_suspend(struct device *dev)
^
static
>> drivers/iio/chemical/scd4x.c:517:20: warning: no previous prototype for function 'scd4x_resume' [-Wmissing-prototypes]
int __maybe_unused scd4x_resume(struct device *dev)
^
drivers/iio/chemical/scd4x.c:517:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __maybe_unused scd4x_resume(struct device *dev)
^
static
>> drivers/iio/chemical/scd4x.c:613:5: warning: no previous prototype for function 'scd4x_probe' [-Wmissing-prototypes]
int scd4x_probe(struct i2c_client *client, const struct i2c_device_id *id)
^
drivers/iio/chemical/scd4x.c:613:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int scd4x_probe(struct i2c_client *client, const struct i2c_device_id *id)
^
static
3 warnings generated.
vim +/scd4x_suspend +503 drivers/iio/chemical/scd4x.c
502
> 503 int __maybe_unused scd4x_suspend(struct device *dev)
504 {
505 struct iio_dev *indio_dev = dev_get_drvdata(dev);
506 struct scd4x_state *state = iio_priv(indio_dev);
507 int ret;
508
509 ret = scd4x_send_command(state, CMD_STOP_MEAS);
510 if (ret)
511 return ret;
512
513 return regulator_disable(state->vdd);
514 }
515 EXPORT_SYMBOL(scd4x_suspend);
516
> 517 int __maybe_unused scd4x_resume(struct device *dev)
518 {
519 struct iio_dev *indio_dev = dev_get_drvdata(dev);
520 struct scd4x_state *state = iio_priv(indio_dev);
521 int ret;
522
523 ret = regulator_enable(state->vdd);
524 if (ret)
525 return ret;
526
527 return scd4x_send_command(state, CMD_START_MEAS);
528 }
529 EXPORT_SYMBOL(scd4x_resume);
530
531 static void scd4x_stop_meas(void *data)
532 {
533 struct scd4x_state *state = data;
534
535 scd4x_send_command(state, CMD_STOP_MEAS);
536 }
537
538 static void scd4x_disable_regulator(void *data)
539 {
540 struct scd4x_state *state = data;
541
542 regulator_disable(state->vdd);
543 }
544
545 static irqreturn_t scd4x_trigger_handler(int irq, void *p)
546 {
547 struct iio_poll_func *pf = p;
548 struct iio_dev *indio_dev = pf->indio_dev;
549 struct scd4x_state *state = iio_priv(indio_dev);
550 struct {
551 int data[3];
552 int64_t ts __aligned(8);
553 } scan;
554 int ret;
555
556 mutex_lock(&state->lock);
557 ret = scd4x_read_poll(state);
558 memset(&scan, 0, sizeof(scan));
559 memcpy(scan.data, state->meas, sizeof(state->meas));
560 mutex_unlock(&state->lock);
561 if (ret)
562 goto out;
563
564 iio_push_to_buffers_with_timestamp(indio_dev, &scan, iio_get_time_ns(indio_dev));
565 out:
566 iio_trigger_notify_done(indio_dev->trig);
567 return IRQ_HANDLED;
568 }
569
570 static int scd4x_set_trigger_state(struct iio_trigger *trig, bool state)
571 {
572 struct iio_dev *indio_dev = iio_trigger_get_drvdata(trig);
573 struct scd4x_state *st = iio_priv(indio_dev);
574
575 if (state)
576 enable_irq(st->irq);
577 else
578 disable_irq(st->irq);
579
580 return 0;
581 }
582
583 static const struct iio_trigger_ops scd4x_trigger_ops = {
584 .set_trigger_state = scd4x_set_trigger_state,
585 .validate_device = iio_trigger_validate_own_device,
586 };
587
588 static int scd4x_setup_trigger(struct iio_dev *indio_dev)
589 {
590 struct device *dev = indio_dev->dev.parent;
591 struct iio_trigger *trig;
592 int ret;
593
594 trig = devm_iio_trigger_alloc(dev, "%s-dev%d", indio_dev->name,
595 iio_device_id(indio_dev));
596 if (!trig) {
597 dev_err(dev, "failed to allocate trigger\n");
598 return -ENOMEM;
599 }
600
601 trig->ops = &scd4x_trigger_ops;
602 iio_trigger_set_drvdata(trig, indio_dev);
603
604 ret = devm_iio_trigger_register(dev, trig);
605 if (ret)
606 return ret;
607
608 indio_dev->trig = iio_trigger_get(trig);
609
610 return ret;
611 }
612
> 613 int scd4x_probe(struct i2c_client *client, const struct i2c_device_id *id)
614 {
615 static const unsigned long scd4x_scan_masks[] = { 0x07, 0x00 };
616 struct device *dev = &client->dev;
617 struct iio_dev *indio_dev;
618 struct scd4x_state *state;
619 int ret;
620
621 indio_dev = devm_iio_device_alloc(dev, sizeof(*state));
622 if (!indio_dev)
623 return -ENOMEM;
624
625 state = iio_priv(indio_dev);
626 mutex_init(&state->lock);
627 state->dev = dev;
628 crc8_populate_msb(scd4x_crc8_table, SCD4X_CRC8_POLYNOMIAL);
629
630 indio_dev->info = &scd4x_info;
631 indio_dev->name = client->name;
632 indio_dev->channels = scd4x_channels;
633 indio_dev->num_channels = ARRAY_SIZE(scd4x_channels);
634 indio_dev->modes = INDIO_DIRECT_MODE | INDIO_BUFFER_TRIGGERED;
635 indio_dev->available_scan_masks = scd4x_scan_masks;
636
637 state->vdd = devm_regulator_get(dev, "vdd");
638 if (IS_ERR(state->vdd))
639 return dev_err_probe(dev, PTR_ERR(state->vdd), "failed to get regulator\n");
640
641 ret = regulator_enable(state->vdd);
642 if (ret)
643 return ret;
644
645 ret = devm_add_action_or_reset(dev, scd4x_disable_regulator, state);
646 if (ret)
647 return ret;
648
649 ret = scd4x_send_command(state, CMD_STOP_MEAS);
650 if (ret) {
651 dev_err(dev, "failed to stop measurement: %d\n", ret);
652 return ret;
653 }
654
655 /* execution time */
656 msleep_interruptible(500);
657
658 if (state->irq > 0) {
659 ret = scd4x_setup_trigger(indio_dev);
660 if (ret) {
661 dev_err(dev, "failed to setup trigger: %d\n", ret);
662 return ret;
663 }
664 }
665
666 ret = devm_iio_triggered_buffer_setup(dev, indio_dev, NULL, scd4x_trigger_handler, NULL);
667 if (ret)
668 return ret;
669
670 ret = devm_iio_device_register(dev, indio_dev);
671 if (ret) {
672 dev_err(dev, "failed to register iio device\n");
673 return ret;
674 }
675
676 ret = scd4x_send_command(state, CMD_START_MEAS);
677 if (ret) {
678 dev_err(dev, "failed to start measurement: %d\n", ret);
679 return ret;
680 }
681
682 ret = devm_add_action_or_reset(dev, scd4x_stop_meas, state);
683 if (ret)
684 return ret;
685
686 return 0;
687 }
688 EXPORT_SYMBOL(scd4x_probe);
689
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 2 weeks
Re: [PATCH net-next v2 3/3] tsnep: Add TSN endpoint Ethernet MAC driver
by kernel test robot
Hi Gerhard,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
url: https://github.com/0day-ci/linux/commits/Gerhard-Engleder/TSN-endpoint-Et...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 29ce8f9701072fc221d9c38ad952de1a9578f95c
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 11.2.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/bd7b8506886248235f157849475c43268...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Gerhard-Engleder/TSN-endpoint-Ethernet-MAC-driver/20210901-033601
git checkout bd7b8506886248235f157849475c432680aca61c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=sh
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/net/ethernet/engleder/tsnep_main.c: In function 'tsnep_probe':
>> drivers/net/ethernet/engleder/tsnep_main.c:1084:13: warning: variable 'queue_count' set but not used [-Wunused-but-set-variable]
1084 | int queue_count;
| ^~~~~~~~~~~
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_PDC
Depends on SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC && HAS_DMA
Selected by
- SND_ATMEL_SOC_SSC && SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC
- SND_ATMEL_SOC_SSC_PDC && SOUND && !UML && SND && SND_SOC && SND_ATMEL_SOC && ATMEL_SSC
vim +/queue_count +1084 drivers/net/ethernet/engleder/tsnep_main.c
1075
1076 static int tsnep_probe(struct platform_device *pdev)
1077 {
1078 struct tsnep_adapter *adapter;
1079 struct net_device *netdev;
1080 struct resource *io;
1081 u32 type;
1082 int revision;
1083 int version;
> 1084 int queue_count;
1085 int retval;
1086
1087 netdev = devm_alloc_etherdev_mqs(&pdev->dev,
1088 sizeof(struct tsnep_adapter),
1089 TSNEP_MAX_QUEUES, TSNEP_MAX_QUEUES);
1090 if (!netdev)
1091 return -ENODEV;
1092 SET_NETDEV_DEV(netdev, &pdev->dev);
1093 adapter = netdev_priv(netdev);
1094 platform_set_drvdata(pdev, adapter);
1095 adapter->pdev = pdev;
1096 adapter->netdev = netdev;
1097 adapter->msg_enable = NETIF_MSG_DRV | NETIF_MSG_PROBE |
1098 NETIF_MSG_LINK | NETIF_MSG_IFUP |
1099 NETIF_MSG_IFDOWN | NETIF_MSG_TX_QUEUED;
1100
1101 netdev->min_mtu = ETH_MIN_MTU;
1102 netdev->max_mtu = TSNEP_MAX_FRAME_SIZE;
1103
1104 spin_lock_init(&adapter->irq_lock);
1105 init_waitqueue_head(&adapter->md_wait);
1106 mutex_init(&adapter->gate_control_lock);
1107
1108 io = platform_get_resource(pdev, IORESOURCE_MEM, 0);
1109 adapter->addr = devm_ioremap_resource(&pdev->dev, io);
1110 if (IS_ERR(adapter->addr))
1111 return PTR_ERR(adapter->addr);
1112 adapter->size = io->end - io->start + 1;
1113 adapter->irq = platform_get_irq(pdev, 0);
1114 netdev->mem_start = io->start;
1115 netdev->mem_end = io->end;
1116 netdev->irq = adapter->irq;
1117
1118 type = ioread32(adapter->addr + ECM_TYPE);
1119 revision = (type & ECM_REVISION_MASK) >> ECM_REVISION_SHIFT;
1120 version = (type & ECM_VERSION_MASK) >> ECM_VERSION_SHIFT;
1121 queue_count = (type & ECM_QUEUE_COUNT_MASK) >> ECM_QUEUE_COUNT_SHIFT;
1122 adapter->gate_control = type & ECM_GATE_CONTROL;
1123
1124 adapter->num_tx_queues = TSNEP_QUEUES;
1125 adapter->num_rx_queues = TSNEP_QUEUES;
1126
1127 iowrite32(0, adapter->addr + ECM_INT_ENABLE);
1128 retval = devm_request_irq(&adapter->pdev->dev, adapter->irq, tsnep_irq,
1129 0, TSNEP, adapter);
1130 if (retval != 0) {
1131 dev_err(&adapter->pdev->dev, "can't get assigned irq %d.",
1132 adapter->irq);
1133 return retval;
1134 }
1135 tsnep_enable_irq(adapter, ECM_INT_MD | ECM_INT_LINK);
1136
1137 retval = tsnep_mac_init(adapter);
1138 if (retval)
1139 goto mac_init_failed;
1140
1141 retval = tsnep_mdio_init(adapter);
1142 if (retval)
1143 goto mdio_init_failed;
1144
1145 retval = tsnep_phy_init(adapter);
1146 if (retval)
1147 goto phy_init_failed;
1148
1149 retval = tsnep_ptp_init(adapter);
1150 if (retval)
1151 goto ptp_init_failed;
1152
1153 retval = tsnep_tc_init(adapter);
1154 if (retval)
1155 goto tc_init_failed;
1156
1157 netdev->netdev_ops = &tsnep_netdev_ops;
1158 netdev->ethtool_ops = &tsnep_ethtool_ops;
1159 netdev->features = NETIF_F_SG;
1160 netdev->hw_features = netdev->features;
1161
1162 /* carrier off reporting is important to ethtool even BEFORE open */
1163 netif_carrier_off(netdev);
1164
1165 retval = register_netdev(netdev);
1166 if (retval)
1167 goto register_failed;
1168
1169 dev_info(&adapter->pdev->dev, "device version %d.%02d\n", version,
1170 revision);
1171 if (adapter->gate_control)
1172 dev_info(&adapter->pdev->dev, "gate control detected\n");
1173
1174 return 0;
1175
1176 unregister_netdev(adapter->netdev);
1177 register_failed:
1178 tsnep_tc_cleanup(adapter);
1179 tc_init_failed:
1180 tsnep_ptp_cleanup(adapter);
1181 ptp_init_failed:
1182 phy_init_failed:
1183 if (adapter->mdiobus)
1184 mdiobus_unregister(adapter->mdiobus);
1185 mdio_init_failed:
1186 mac_init_failed:
1187 return retval;
1188 }
1189
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 2 weeks
[linux-next:master 11029/11397] drivers/net/ethernet/broadcom/bnxt/bnxt.c:12062:27: error: 'struct bnxt' has no member named 'db_lock'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 52c7b727581fe725f8b8a283af21fe0651c73c48
commit: f9ff578251dc2f1cf5b9b007e050033d8414829d [11029/11397] bnxt_en: introduce new firmware message API based on DMA pools
config: parisc-allyesconfig (attached as .config)
compiler: hppa-linux-gcc (GCC) 11.2.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://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout f9ff578251dc2f1cf5b9b007e050033d8414829d
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=parisc SHELL=/bin/bash
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 include/linux/mm_types.h:9,
from include/linux/buildid.h:5,
from include/linux/module.h:14,
from drivers/net/ethernet/broadcom/bnxt/bnxt.c:11:
drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_init_board':
>> drivers/net/ethernet/broadcom/bnxt/bnxt.c:12062:27: error: 'struct bnxt' has no member named 'db_lock'
12062 | spin_lock_init(&bp->db_lock);
| ^~
include/linux/spinlock.h:338:45: note: in definition of macro 'spin_lock_init'
338 | __raw_spin_lock_init(spinlock_check(lock), \
| ^~~~
vim +12062 drivers/net/ethernet/broadcom/bnxt/bnxt.c
230d1f0de754b4 Michael Chan 2019-08-29 11998
c0c050c58d8409 Michael Chan 2015-10-22 11999 static int bnxt_init_board(struct pci_dev *pdev, struct net_device *dev)
c0c050c58d8409 Michael Chan 2015-10-22 12000 {
c0c050c58d8409 Michael Chan 2015-10-22 12001 int rc;
c0c050c58d8409 Michael Chan 2015-10-22 12002 struct bnxt *bp = netdev_priv(dev);
c0c050c58d8409 Michael Chan 2015-10-22 12003
c0c050c58d8409 Michael Chan 2015-10-22 12004 SET_NETDEV_DEV(dev, &pdev->dev);
c0c050c58d8409 Michael Chan 2015-10-22 12005
c0c050c58d8409 Michael Chan 2015-10-22 12006 /* enable device (incl. PCI PM wakeup), and bus-mastering */
c0c050c58d8409 Michael Chan 2015-10-22 12007 rc = pci_enable_device(pdev);
c0c050c58d8409 Michael Chan 2015-10-22 12008 if (rc) {
c0c050c58d8409 Michael Chan 2015-10-22 12009 dev_err(&pdev->dev, "Cannot enable PCI device, aborting\n");
c0c050c58d8409 Michael Chan 2015-10-22 12010 goto init_err;
c0c050c58d8409 Michael Chan 2015-10-22 12011 }
c0c050c58d8409 Michael Chan 2015-10-22 12012
c0c050c58d8409 Michael Chan 2015-10-22 12013 if (!(pci_resource_flags(pdev, 0) & IORESOURCE_MEM)) {
c0c050c58d8409 Michael Chan 2015-10-22 12014 dev_err(&pdev->dev,
c0c050c58d8409 Michael Chan 2015-10-22 12015 "Cannot find PCI device base address, aborting\n");
c0c050c58d8409 Michael Chan 2015-10-22 12016 rc = -ENODEV;
c0c050c58d8409 Michael Chan 2015-10-22 12017 goto init_err_disable;
c0c050c58d8409 Michael Chan 2015-10-22 12018 }
c0c050c58d8409 Michael Chan 2015-10-22 12019
c0c050c58d8409 Michael Chan 2015-10-22 12020 rc = pci_request_regions(pdev, DRV_MODULE_NAME);
c0c050c58d8409 Michael Chan 2015-10-22 12021 if (rc) {
c0c050c58d8409 Michael Chan 2015-10-22 12022 dev_err(&pdev->dev, "Cannot obtain PCI resources, aborting\n");
c0c050c58d8409 Michael Chan 2015-10-22 12023 goto init_err_disable;
c0c050c58d8409 Michael Chan 2015-10-22 12024 }
c0c050c58d8409 Michael Chan 2015-10-22 12025
c0c050c58d8409 Michael Chan 2015-10-22 12026 if (dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)) != 0 &&
c0c050c58d8409 Michael Chan 2015-10-22 12027 dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)) != 0) {
c0c050c58d8409 Michael Chan 2015-10-22 12028 dev_err(&pdev->dev, "System does not support DMA, aborting\n");
3383176efc0fb0 Zhang Changzhong 2020-11-19 12029 rc = -EIO;
c54bc3ced51066 Michael Chan 2020-11-20 12030 goto init_err_release;
c0c050c58d8409 Michael Chan 2015-10-22 12031 }
c0c050c58d8409 Michael Chan 2015-10-22 12032
c0c050c58d8409 Michael Chan 2015-10-22 12033 pci_set_master(pdev);
c0c050c58d8409 Michael Chan 2015-10-22 12034
c0c050c58d8409 Michael Chan 2015-10-22 12035 bp->dev = dev;
c0c050c58d8409 Michael Chan 2015-10-22 12036 bp->pdev = pdev;
c0c050c58d8409 Michael Chan 2015-10-22 12037
8ae2473842bdbb Michael Chan 2020-05-04 12038 /* Doorbell BAR bp->bar1 is mapped after bnxt_fw_init_one_p2()
8ae2473842bdbb Michael Chan 2020-05-04 12039 * determines the BAR size.
8ae2473842bdbb Michael Chan 2020-05-04 12040 */
c0c050c58d8409 Michael Chan 2015-10-22 12041 bp->bar0 = pci_ioremap_bar(pdev, 0);
c0c050c58d8409 Michael Chan 2015-10-22 12042 if (!bp->bar0) {
c0c050c58d8409 Michael Chan 2015-10-22 12043 dev_err(&pdev->dev, "Cannot map device registers, aborting\n");
c0c050c58d8409 Michael Chan 2015-10-22 12044 rc = -ENOMEM;
c0c050c58d8409 Michael Chan 2015-10-22 12045 goto init_err_release;
c0c050c58d8409 Michael Chan 2015-10-22 12046 }
c0c050c58d8409 Michael Chan 2015-10-22 12047
c0c050c58d8409 Michael Chan 2015-10-22 12048 bp->bar2 = pci_ioremap_bar(pdev, 4);
c0c050c58d8409 Michael Chan 2015-10-22 12049 if (!bp->bar2) {
c0c050c58d8409 Michael Chan 2015-10-22 12050 dev_err(&pdev->dev, "Cannot map bar4 registers, aborting\n");
c0c050c58d8409 Michael Chan 2015-10-22 12051 rc = -ENOMEM;
c0c050c58d8409 Michael Chan 2015-10-22 12052 goto init_err_release;
c0c050c58d8409 Michael Chan 2015-10-22 12053 }
c0c050c58d8409 Michael Chan 2015-10-22 12054
6316ea6db93d87 Satish Baddipadige 2016-03-07 12055 pci_enable_pcie_error_reporting(pdev);
6316ea6db93d87 Satish Baddipadige 2016-03-07 12056
c0c050c58d8409 Michael Chan 2015-10-22 12057 INIT_WORK(&bp->sp_task, bnxt_sp_task);
230d1f0de754b4 Michael Chan 2019-08-29 12058 INIT_DELAYED_WORK(&bp->fw_reset_task, bnxt_fw_reset_task);
c0c050c58d8409 Michael Chan 2015-10-22 12059
c0c050c58d8409 Michael Chan 2015-10-22 12060 spin_lock_init(&bp->ntp_fltr_lock);
697197e5a17353 Michael Chan 2018-10-14 12061 #if BITS_PER_LONG == 32
697197e5a17353 Michael Chan 2018-10-14 @12062 spin_lock_init(&bp->db_lock);
697197e5a17353 Michael Chan 2018-10-14 12063 #endif
c0c050c58d8409 Michael Chan 2015-10-22 12064
c0c050c58d8409 Michael Chan 2015-10-22 12065 bp->rx_ring_size = BNXT_DEFAULT_RX_RING_SIZE;
c0c050c58d8409 Michael Chan 2015-10-22 12066 bp->tx_ring_size = BNXT_DEFAULT_TX_RING_SIZE;
c0c050c58d8409 Michael Chan 2015-10-22 12067
18775aa8a91fcd Michael Chan 2017-10-26 12068 bnxt_init_dflt_coal(bp);
51f307856b60e6 Michael Chan 2016-07-01 12069
e99e88a9d2b067 Kees Cook 2017-10-16 12070 timer_setup(&bp->timer, bnxt_timer, 0);
c0c050c58d8409 Michael Chan 2015-10-22 12071 bp->current_interval = BNXT_TIMER_INTERVAL;
c0c050c58d8409 Michael Chan 2015-10-22 12072
442a35a5a7aa72 Jakub Kicinski 2020-07-09 12073 bp->vxlan_fw_dst_port_id = INVALID_HW_RING_ID;
442a35a5a7aa72 Jakub Kicinski 2020-07-09 12074 bp->nge_fw_dst_port_id = INVALID_HW_RING_ID;
442a35a5a7aa72 Jakub Kicinski 2020-07-09 12075
caefe526d7b5af Michael Chan 2015-12-09 12076 clear_bit(BNXT_STATE_OPEN, &bp->state);
c0c050c58d8409 Michael Chan 2015-10-22 12077 return 0;
c0c050c58d8409 Michael Chan 2015-10-22 12078
c0c050c58d8409 Michael Chan 2015-10-22 12079 init_err_release:
17086399c113d9 Sathya Perla 2017-02-20 12080 bnxt_unmap_bars(bp, pdev);
c0c050c58d8409 Michael Chan 2015-10-22 12081 pci_release_regions(pdev);
c0c050c58d8409 Michael Chan 2015-10-22 12082
c0c050c58d8409 Michael Chan 2015-10-22 12083 init_err_disable:
c0c050c58d8409 Michael Chan 2015-10-22 12084 pci_disable_device(pdev);
c0c050c58d8409 Michael Chan 2015-10-22 12085
c0c050c58d8409 Michael Chan 2015-10-22 12086 init_err:
c0c050c58d8409 Michael Chan 2015-10-22 12087 return rc;
c0c050c58d8409 Michael Chan 2015-10-22 12088 }
c0c050c58d8409 Michael Chan 2015-10-22 12089
:::::: The code at line 12062 was first introduced by commit
:::::: 697197e5a1735325c0e1ef85dde2b2986354beb9 bnxt_en: Re-structure doorbells.
:::::: TO: Michael Chan <michael.chan(a)broadcom.com>
:::::: CC: David S. Miller <davem(a)davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 2 weeks
Re: [PATCH -next v2] riscv: Enable HAVE_ARCH_HUGE_VMAP for 64BIT
by kernel test robot
Hi Liu,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on next-20210831]
url: https://github.com/0day-ci/linux/commits/Liu-Shixin/riscv-Enable-HAVE_ARC...
base: 52c7b727581fe725f8b8a283af21fe0651c73c48
config: arm64-buildonly-randconfig-r006-20210831 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 11.2.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/56c97e9d9ededae88111ef9b72e88de4c...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Liu-Shixin/riscv-Enable-HAVE_ARCH_HUGE_VMAP-for-64BIT/20210831-202818
git checkout 56c97e9d9ededae88111ef9b72e88de4c0d85b29
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm64 SHELL=/bin/bash arch/arm64/mm/
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 >>):
>> arch/arm64/mm/mmu.c:1342:5: error: redefinition of 'pud_set_huge'
1342 | int pud_set_huge(pud_t *pudp, phys_addr_t phys, pgprot_t prot)
| ^~~~~~~~~~~~
In file included from include/linux/mm.h:33,
from include/linux/pid_namespace.h:7,
from include/linux/ptrace.h:10,
from include/linux/elfcore.h:11,
from include/linux/crash_core.h:6,
from include/linux/kexec.h:18,
from arch/arm64/mm/mmu.c:15:
include/linux/pgtable.h:1404:19: note: previous definition of 'pud_set_huge' with type 'int(pud_t *, phys_addr_t, pgprot_t)' {aka 'int(pud_t *, long long unsigned int, pgprot_t)'}
1404 | static inline int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot)
| ^~~~~~~~~~~~
>> arch/arm64/mm/mmu.c:1370:5: error: redefinition of 'pud_clear_huge'
1370 | int pud_clear_huge(pud_t *pudp)
| ^~~~~~~~~~~~~~
In file included from include/linux/mm.h:33,
from include/linux/pid_namespace.h:7,
from include/linux/ptrace.h:10,
from include/linux/elfcore.h:11,
from include/linux/crash_core.h:6,
from include/linux/kexec.h:18,
from arch/arm64/mm/mmu.c:15:
include/linux/pgtable.h:1408:19: note: previous definition of 'pud_clear_huge' with type 'int(pud_t *)'
1408 | static inline int pud_clear_huge(pud_t *pud)
| ^~~~~~~~~~~~~~
vim +/pud_set_huge +1342 arch/arm64/mm/mmu.c
61bd93ce801bb6 Ard Biesheuvel 2015-06-01 1341
20a004e7b017cc Will Deacon 2018-02-15 @1342 int pud_set_huge(pud_t *pudp, phys_addr_t phys, pgprot_t prot)
324420bf91f605 Ard Biesheuvel 2016-02-16 1343 {
f7f0097af67c3c Anshuman Khandual 2019-05-27 1344 pud_t new_pud = pfn_pud(__phys_to_pfn(phys), mk_pud_sect_prot(prot));
15122ee2c515a2 Will Deacon 2018-02-21 1345
82034c23fcbc23 Laura Abbott 2018-05-23 1346 /* Only allow permission changes for now */
82034c23fcbc23 Laura Abbott 2018-05-23 1347 if (!pgattr_change_is_safe(READ_ONCE(pud_val(*pudp)),
82034c23fcbc23 Laura Abbott 2018-05-23 1348 pud_val(new_pud)))
15122ee2c515a2 Will Deacon 2018-02-21 1349 return 0;
15122ee2c515a2 Will Deacon 2018-02-21 1350
87dedf7c61ab07 Anshuman Khandual 2019-05-27 1351 VM_BUG_ON(phys & ~PUD_MASK);
82034c23fcbc23 Laura Abbott 2018-05-23 1352 set_pud(pudp, new_pud);
324420bf91f605 Ard Biesheuvel 2016-02-16 1353 return 1;
324420bf91f605 Ard Biesheuvel 2016-02-16 1354 }
324420bf91f605 Ard Biesheuvel 2016-02-16 1355
20a004e7b017cc Will Deacon 2018-02-15 1356 int pmd_set_huge(pmd_t *pmdp, phys_addr_t phys, pgprot_t prot)
324420bf91f605 Ard Biesheuvel 2016-02-16 1357 {
f7f0097af67c3c Anshuman Khandual 2019-05-27 1358 pmd_t new_pmd = pfn_pmd(__phys_to_pfn(phys), mk_pmd_sect_prot(prot));
15122ee2c515a2 Will Deacon 2018-02-21 1359
82034c23fcbc23 Laura Abbott 2018-05-23 1360 /* Only allow permission changes for now */
82034c23fcbc23 Laura Abbott 2018-05-23 1361 if (!pgattr_change_is_safe(READ_ONCE(pmd_val(*pmdp)),
82034c23fcbc23 Laura Abbott 2018-05-23 1362 pmd_val(new_pmd)))
15122ee2c515a2 Will Deacon 2018-02-21 1363 return 0;
15122ee2c515a2 Will Deacon 2018-02-21 1364
87dedf7c61ab07 Anshuman Khandual 2019-05-27 1365 VM_BUG_ON(phys & ~PMD_MASK);
82034c23fcbc23 Laura Abbott 2018-05-23 1366 set_pmd(pmdp, new_pmd);
324420bf91f605 Ard Biesheuvel 2016-02-16 1367 return 1;
324420bf91f605 Ard Biesheuvel 2016-02-16 1368 }
324420bf91f605 Ard Biesheuvel 2016-02-16 1369
d8a719059b9dc9 Jonathan Marek 2021-07-21 @1370 int pud_clear_huge(pud_t *pudp)
d8a719059b9dc9 Jonathan Marek 2021-07-21 1371 {
d8a719059b9dc9 Jonathan Marek 2021-07-21 1372 if (!pud_sect(READ_ONCE(*pudp)))
d8a719059b9dc9 Jonathan Marek 2021-07-21 1373 return 0;
d8a719059b9dc9 Jonathan Marek 2021-07-21 1374 pud_clear(pudp);
d8a719059b9dc9 Jonathan Marek 2021-07-21 1375 return 1;
d8a719059b9dc9 Jonathan Marek 2021-07-21 1376 }
d8a719059b9dc9 Jonathan Marek 2021-07-21 1377
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 2 weeks