Hi Mazin, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [cannot apply to v5.4-rc3 next-20191011] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Mazin-Rezk/HID-logitech-Add-MX-Master-over-Bluetooth/20191014-071534 config: i386-randconfig-g004-201941 (attached as .config) compiler: gcc-7 (Debian 7.4.0-13) 7.4.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 If you fix the issue, kindly add following tag Reported-by: kbuild test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): In file included from include/linux/ioport.h:13:0, from include/linux/device.h:15, from drivers//hid/hid-logitech-hidpp.c:13: drivers//hid/hid-logitech-hidpp.c: In function 'hidpp_send_rap_command_sync': include/linux/bits.h:8:26: warning: left shift count >= width of type [-Wshift-count-overflow] #define BIT(nr) (UL(1) << (nr)) ^ include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ >> drivers//hid/hid-logitech-hidpp.c:347:2: note: in expansion of macro 'if' if (hidpp_dev->quirks & HIDPP_QUIRK_MISSING_SHORT_REPORTS && ^~ drivers//hid/hid-logitech-hidpp.c:74:43: note: in expansion of macro 'BIT' #define HIDPP_QUIRK_MISSING_SHORT_REPORTS BIT(32) ^~~ drivers//hid/hid-logitech-hidpp.c:347:26: note: in expansion of macro 'HIDPP_QUIRK_MISSING_SHORT_REPORTS' if (hidpp_dev->quirks & HIDPP_QUIRK_MISSING_SHORT_REPORTS && ^ include/linux/bits.h:8:26: warning: left shift count >= width of type [-Wshift-count-overflow] #define BIT(nr) (UL(1) << (nr)) ^ include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ >> drivers//hid/hid-logitech-hidpp.c:347:2: note: in expansion of macro 'if' if (hidpp_dev->quirks & HIDPP_QUIRK_MISSING_SHORT_REPORTS && ^~ drivers//hid/hid-logitech-hidpp.c:74:43: note: in expansion of macro 'BIT' #define HIDPP_QUIRK_MISSING_SHORT_REPORTS BIT(32) ^~~ drivers//hid/hid-logitech-hidpp.c:347:26: note: in expansion of macro 'HIDPP_QUIRK_MISSING_SHORT_REPORTS' if (hidpp_dev->quirks & HIDPP_QUIRK_MISSING_SHORT_REPORTS && ^ drivers//hid/hid-logitech-hidpp.c: In function 'hidpp_validate_device': include/linux/bits.h:8:26: warning: left shift count >= width of type [-Wshift-count-overflow] #define BIT(nr) (UL(1) << (nr)) ^ include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ drivers//hid/hid-logitech-hidpp.c:3496:2: note: in expansion of macro 'if' if (hidpp->quirks & HIDPP_QUIRK_MISSING_SHORT_REPORTS) ^~ drivers//hid/hid-logitech-hidpp.c:74:43: note: in expansion of macro 'BIT' #define HIDPP_QUIRK_MISSING_SHORT_REPORTS BIT(32) ^~~ drivers//hid/hid-logitech-hidpp.c:3496:22: note: in expansion of macro 'HIDPP_QUIRK_MISSING_SHORT_REPORTS' if (hidpp->quirks & HIDPP_QUIRK_MISSING_SHORT_REPORTS) ^ include/linux/bits.h:8:26: warning: left shift count >= width of type [-Wshift-count-overflow] #define BIT(nr) (UL(1) << (nr)) ^ include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ drivers//hid/hid-logitech-hidpp.c:3496:2: note: in expansion of macro 'if' if (hidpp->quirks & HIDPP_QUIRK_MISSING_SHORT_REPORTS) ^~ drivers//hid/hid-logitech-hidpp.c:74:43: note: in expansion of macro 'BIT' #define HIDPP_QUIRK_MISSING_SHORT_REPORTS BIT(32) ^~~ drivers//hid/hid-logitech-hidpp.c:3496:22: note: in expansion of macro 'HIDPP_QUIRK_MISSING_SHORT_REPORTS' if (hidpp->quirks & HIDPP_QUIRK_MISSING_SHORT_REPORTS) ^ In file included from include/linux/ioport.h:15:0, from include/linux/device.h:15, from drivers//hid/hid-logitech-hidpp.c:13: drivers//hid/hid-logitech-hidpp.c: At top level: include/linux/bits.h:8:26: warning: left shift count >= width of type [-Wshift-count-overflow] #define BIT(nr) (UL(1) << (nr)) ^ drivers//hid/hid-logitech-hidpp.c:74:43: note: in expansion of macro 'BIT' #define HIDPP_QUIRK_MISSING_SHORT_REPORTS BIT(32) ^~~ drivers//hid/hid-logitech-hidpp.c:85:40: note: in expansion of macro 'HIDPP_QUIRK_MISSING_SHORT_REPORTS' #define HIDPP_QUIRK_CLASS_BLUETOOTH_LE HIDPP_QUIRK_MISSING_SHORT_REPORTS ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers//hid/hid-logitech-hidpp.c:3794:5: note: in expansion of macro 'HIDPP_QUIRK_CLASS_BLUETOOTH_LE' HIDPP_QUIRK_CLASS_BLUETOOTH_LE }, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/bits.h:8:26: warning: left shift count >= width of type [-Wshift-count-overflow] #define BIT(nr) (UL(1) << (nr)) ^ drivers//hid/hid-logitech-hidpp.c:74:43: note: in expansion of macro 'BIT' #define HIDPP_QUIRK_MISSING_SHORT_REPORTS BIT(32) ^~~ drivers//hid/hid-logitech-hidpp.c:85:40: note: in expansion of macro 'HIDPP_QUIRK_MISSING_SHORT_REPORTS' #define HIDPP_QUIRK_CLASS_BLUETOOTH_LE HIDPP_QUIRK_MISSING_SHORT_REPORTS ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers//hid/hid-logitech-hidpp.c:3797:5: note: in expansion of macro 'HIDPP_QUIRK_CLASS_BLUETOOTH_LE' HIDPP_QUIRK_CLASS_BLUETOOTH_LE }, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Cyclomatic Complexity 5 include/linux/compiler.h:__read_once_size Cyclomatic Complexity 5 include/linux/compiler.h:__write_once_size Cyclomatic Complexity 1 include/linux/kasan-checks.h:kasan_check_read Cyclomatic Complexity 1 include/linux/kasan-checks.h:kasan_check_write Cyclomatic Complexity 4 arch/x86/include/asm/bitops.h:arch_set_bit Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:arch___set_bit Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:arch___clear_bit Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:fls Cyclomatic Complexity 1 include/asm-generic/bitops-instrumented.h:set_bit Cyclomatic Complexity 1 include/asm-generic/bitops-instrumented.h:__set_bit Cyclomatic Complexity 1 include/asm-generic/bitops-instrumented.h:__clear_bit Cyclomatic Complexity 1 include/uapi/linux/swab.h:__swab16p Cyclomatic Complexity 1 include/uapi/linux/byteorder/little_endian.h:__le16_to_cpup Cyclomatic Complexity 1 include/uapi/linux/byteorder/little_endian.h:__be16_to_cpup Cyclomatic Complexity 1 include/linux/log2.h:__ilog2_u32 Cyclomatic Complexity 1 include/linux/list.h:INIT_LIST_HEAD Cyclomatic Complexity 1 include/linux/err.h:PTR_ERR Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:arch_atomic_read Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:arch_atomic_set Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:arch_atomic_inc Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:arch_atomic_dec Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:arch_atomic_add_return Cyclomatic Complexity 1 include/asm-generic/atomic-instrumented.h:atomic_read Cyclomatic Complexity 1 include/asm-generic/atomic-instrumented.h:atomic_set Cyclomatic Complexity 1 include/asm-generic/atomic-instrumented.h:atomic_add_return Cyclomatic Complexity 1 include/asm-generic/atomic-instrumented.h:atomic_inc Cyclomatic Complexity 1 include/asm-generic/atomic-instrumented.h:atomic_dec Cyclomatic Complexity 1 include/linux/atomic-fallback.h:atomic_inc_return Cyclomatic Complexity 1 include/linux/workqueue.h:__init_work Cyclomatic Complexity 1 include/linux/device.h:dev_get_drvdata Cyclomatic Complexity 1 include/linux/device.h:dev_set_drvdata Cyclomatic Complexity 1 include/linux/input.h:input_get_drvdata Cyclomatic Complexity 1 include/linux/input.h:input_set_drvdata vim +/if +347 drivers//hid/hid-logitech-hidpp.c 338 339 static int hidpp_send_rap_command_sync(struct hidpp_device *hidpp_dev, 340 u8 report_id, u8 sub_id, u8 reg_address, u8 *params, int param_count, 341 struct hidpp_report *response) 342 { 343 struct hidpp_report *message; 344 int ret, max_count; 345 346 /* Force long reports on devices that do not support short reports */ > 347 if (hidpp_dev->quirks & HIDPP_QUIRK_MISSING_SHORT_REPORTS && 348 report_id == REPORT_ID_HIDPP_SHORT) 349 report_id = REPORT_ID_HIDPP_LONG; 350 351 352 switch (report_id) { 353 case REPORT_ID_HIDPP_SHORT: 354 max_count = HIDPP_REPORT_SHORT_LENGTH - 4; 355 break; 356 case REPORT_ID_HIDPP_LONG: 357 max_count = HIDPP_REPORT_LONG_LENGTH - 4; 358 break; 359 case REPORT_ID_HIDPP_VERY_LONG: 360 max_count = hidpp_dev->very_long_report_length - 4; 361 break; 362 default: 363 return -EINVAL; 364 } 365 366 if (param_count > max_count) 367 return -EINVAL; 368 369 message = kzalloc(sizeof(struct hidpp_report), GFP_KERNEL); 370 if (!message) 371 return -ENOMEM; 372 message->report_id = report_id; 373 message->rap.sub_id = sub_id; 374 message->rap.reg_address = reg_address; 375 memcpy(&message->rap.params, params, param_count); 376 377 ret = hidpp_send_message_sync(hidpp_dev, message, response); 378 kfree(message); 379 return ret; 380 } 381 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip