Re: [PATCH v1] Bluetooth: btusb: support download nvm with different board id for wcn6855

From: kernel test robot
Date: Thu Dec 03 2020 - 02:56:53 EST


Hi Zijun,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on bluetooth-next/master]
[also build test WARNING on linux/master linus/master v5.10-rc6 next-20201201]
[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/Zijun-Hu/Bluetooth-btusb-support-download-nvm-with-different-board-id-for-wcn6855/20201203-130200
base: https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git master
config: arm-randconfig-s031-20201203 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-179-ga00755aa-dirty
# https://github.com/0day-ci/linux/commit/623a173767a07fecb449a96f4f897379a4dcd9ba
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Zijun-Hu/Bluetooth-btusb-support-download-nvm-with-different-board-id-for-wcn6855/20201203-130200
git checkout 623a173767a07fecb449a96f4f897379a4dcd9ba
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arm

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>


"sparse warnings: (new ones prefixed by >>)"
drivers/bluetooth/btusb.c:1841:18: sparse: sparse: cast to restricted __le16
drivers/bluetooth/btusb.c:1845:18: sparse: sparse: cast to restricted __le16
drivers/bluetooth/btusb.c:1849:18: sparse: sparse: cast to restricted __le16
drivers/bluetooth/btusb.c:1853:18: sparse: sparse: cast to restricted __le16
drivers/bluetooth/btusb.c:1857:18: sparse: sparse: cast to restricted __le16
drivers/bluetooth/btusb.c:2367:25: sparse: sparse: cast to restricted __le16
drivers/bluetooth/btusb.c:2376:25: sparse: sparse: cast to restricted __le16
drivers/bluetooth/btusb.c:2377:25: sparse: sparse: cast to restricted __le16
drivers/bluetooth/btusb.c:2378:25: sparse: sparse: cast to restricted __le16
drivers/bluetooth/btusb.c:3631:28: sparse: sparse: cast to restricted __le32
>> drivers/bluetooth/btusb.c:3662:18: sparse: sparse: restricted __le16 degrades to integer

vim +3662 drivers/bluetooth/btusb.c

3653
3654 static int btusb_setup_qca_load_nvm(struct hci_dev *hdev,
3655 struct qca_version *ver,
3656 const struct qca_device_info *info)
3657 {
3658 const struct firmware *fw;
3659 char fwname[64];
3660 int err;
3661
> 3662 if (((ver->flag >> 8) & 0xff) == QCA_FLAG_MULTI_NVM) {
3663 snprintf(fwname, sizeof(fwname), "qca/nvm_usb_%08x_%04x.bin",
3664 le32_to_cpu(ver->rom_version),
3665 le16_to_cpu(ver->board_id));
3666 } else {
3667 snprintf(fwname, sizeof(fwname), "qca/nvm_usb_%08x.bin",
3668 le32_to_cpu(ver->rom_version));
3669 }
3670
3671 err = request_firmware(&fw, fwname, &hdev->dev);
3672 if (err) {
3673 bt_dev_err(hdev, "failed to request NVM file: %s (%d)",
3674 fwname, err);
3675 return err;
3676 }
3677
3678 bt_dev_info(hdev, "using NVM file: %s", fwname);
3679
3680 err = btusb_setup_qca_download_fw(hdev, fw, info->nvm_hdr);
3681
3682 release_firmware(fw);
3683
3684 return err;
3685 }
3686

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip