Re: [PATCH] Bluetooth: btusb: Add Realtek devcoredump support
From: kernel test robot
Date: Thu Sep 22 2022 - 22:48:53 EST
Hi,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on bluetooth/master]
[also build test ERROR on bluetooth-next/master linus/master v6.0-rc6 next-20220921]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/hildawu-realtek-com/Bluetooth-btusb-Add-Realtek-devcoredump-support/20220922-183533
base: https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth.git master
config: x86_64-randconfig-a003 (https://download.01.org/0day-ci/archive/20220923/202209231041.TfIbIGWJ-lkp@xxxxxxxxx/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
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/intel-lab-lkp/linux/commit/b896c161a197fbcb019f6e4f890b667bb9d6f15e
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review hildawu-realtek-com/Bluetooth-btusb-Add-Realtek-devcoredump-support/20220922-183533
git checkout b896c161a197fbcb019f6e4f890b667bb9d6f15e
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
All errors (new ones prefixed by >>):
>> drivers/bluetooth/btusb.c:731:7: error: implicit declaration of function 'hci_devcoredump_init' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
if (!hci_devcoredump_init(hdev, skb->len)) {
^
>> drivers/bluetooth/btusb.c:732:3: error: implicit declaration of function 'hci_devcoredump_append' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
hci_devcoredump_append(hdev, skb);
^
drivers/bluetooth/btusb.c:732:3: note: did you mean 'hci_devcoredump_init'?
drivers/bluetooth/btusb.c:731:7: note: 'hci_devcoredump_init' declared here
if (!hci_devcoredump_init(hdev, skb->len)) {
^
>> drivers/bluetooth/btusb.c:733:3: error: implicit declaration of function 'hci_devcoredump_complete' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
hci_devcoredump_complete(hdev);
^
drivers/bluetooth/btusb.c:733:3: note: did you mean 'hci_devcoredump_append'?
drivers/bluetooth/btusb.c:732:3: note: 'hci_devcoredump_append' declared here
hci_devcoredump_append(hdev, skb);
^
drivers/bluetooth/btusb.c:776:7: error: implicit declaration of function 'hci_devcoredump_init' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
if (!hci_devcoredump_init(hdev, skb->len)) {
^
drivers/bluetooth/btusb.c:777:3: error: implicit declaration of function 'hci_devcoredump_append' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
hci_devcoredump_append(hdev, skb);
^
drivers/bluetooth/btusb.c:778:3: error: implicit declaration of function 'hci_devcoredump_complete' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
hci_devcoredump_complete(hdev);
^
drivers/bluetooth/btusb.c:2361:8: error: implicit declaration of function 'hci_devcoredump_init' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
if (!hci_devcoredump_init(hdev, nskb->len)) {
^
drivers/bluetooth/btusb.c:2362:4: error: implicit declaration of function 'hci_devcoredump_append' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
hci_devcoredump_append(hdev, nskb);
^
drivers/bluetooth/btusb.c:2363:4: error: implicit declaration of function 'hci_devcoredump_complete' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
hci_devcoredump_complete(hdev);
^
9 errors generated.
--
>> drivers/bluetooth/btrtl.c:657:8: error: implicit declaration of function 'hci_devcoredump_register' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
err = hci_devcoredump_register(hdev, btrtl_coredump, btrtl_dmp_hdr,
^
1 error generated.
vim +/hci_devcoredump_init +731 drivers/bluetooth/btusb.c
719
720 static void btusb_rtl_cmd_timeout(struct hci_dev *hdev)
721 {
722 struct btusb_data *data = hci_get_drvdata(hdev);
723 struct gpio_desc *reset_gpio = data->reset_gpio;
724 struct sk_buff *skb;
725 u8 code[4] = { DEVCOREDUMP_CODE_CMD_TIMEOUT, 0, 0, 0 };
726
727 skb = alloc_skb(sizeof(code), GFP_ATOMIC);
728 if (!skb)
729 goto timeout_check;
730 skb_put_data(skb, code, sizeof(code));
> 731 if (!hci_devcoredump_init(hdev, skb->len)) {
> 732 hci_devcoredump_append(hdev, skb);
> 733 hci_devcoredump_complete(hdev);
734 } else {
735 bt_dev_err(hdev, "RTL: cmd timeout, failed to devcoredump");
736 kfree_skb(skb);
737 }
738
739 timeout_check:
740 if (++data->cmd_timeout_cnt < 5)
741 return;
742
743 if (!reset_gpio) {
744 bt_dev_err(hdev, "No gpio to reset Realtek device, ignoring");
745 return;
746 }
747
748 /* Toggle the hard reset line. The Realtek device is going to
749 * yank itself off the USB and then replug. The cleanup is handled
750 * correctly on the way out (standard USB disconnect), and the new
751 * device is detected cleanly and bound to the driver again like
752 * it should be.
753 */
754 if (test_and_set_bit(BTUSB_HW_RESET_ACTIVE, &data->flags)) {
755 bt_dev_err(hdev, "last reset failed? Not resetting again");
756 return;
757 }
758
759 bt_dev_err(hdev, "Reset Realtek device via gpio");
760 gpiod_set_value_cansleep(reset_gpio, 1);
761 msleep(200);
762 gpiod_set_value_cansleep(reset_gpio, 0);
763 }
764
--
0-DAY CI Kernel Test Service
https://01.org/lkp