CC: [email protected]
CC: [email protected]
TO: Marcel Holtmann <[email protected]>
CC: Luiz Augusto von Dentz <[email protected]>

tree:   
https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git 
master
head:   dc800a9106573bc39d15990ce57f1454d76c79cc
commit: 148a48f61393977fbeb2b9d41ac6ad3866a6990c [2/5] Bluetooth: Add support 
for virtio transport driver
:::::: branch date: 13 hours ago
:::::: commit date: 13 hours ago
config: powerpc-randconfig-s032-20210407 (attached as .config)
compiler: powerpc64-linux-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-279-g6d5d9b42-dirty
        # 
https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git/commit/?id=148a48f61393977fbeb2b9d41ac6ad3866a6990c
        git remote add bluetooth-next 
https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git
        git fetch --no-tags bluetooth-next master
        git checkout 148a48f61393977fbeb2b9d41ac6ad3866a6990c
        # 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=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


sparse warnings: (new ones prefixed by >>)
>> drivers/bluetooth/virtio_bt.c:303:17: sparse: sparse: no generic selection 
>> for 'unsigned short virtio_cread_v'
>> drivers/bluetooth/virtio_bt.c:303:17: sparse: sparse: incompatible types in 
>> comparison expression (different base types):
>> drivers/bluetooth/virtio_bt.c:303:17: sparse:    bad type *
>> drivers/bluetooth/virtio_bt.c:303:17: sparse:    unsigned short *
>> drivers/bluetooth/virtio_bt.c:303:17: sparse: sparse: no generic selection 
>> for 'unsigned short [addressable] virtio_cread_v'
   drivers/bluetooth/virtio_bt.c:336:17: sparse: sparse: no generic selection 
for 'unsigned short virtio_cread_v'
   drivers/bluetooth/virtio_bt.c:336:17: sparse: sparse: incompatible types in 
comparison expression (different base types):
   drivers/bluetooth/virtio_bt.c:336:17: sparse:    bad type *
   drivers/bluetooth/virtio_bt.c:336:17: sparse:    unsigned short *
   drivers/bluetooth/virtio_bt.c:336:17: sparse: sparse: no generic selection 
for 'unsigned short [addressable] virtio_cread_v'

vim +303 drivers/bluetooth/virtio_bt.c

148a48f6139397 Marcel Holtmann 2021-04-06  240  
148a48f6139397 Marcel Holtmann 2021-04-06  241  static int virtbt_probe(struct 
virtio_device *vdev)
148a48f6139397 Marcel Holtmann 2021-04-06  242  {
148a48f6139397 Marcel Holtmann 2021-04-06  243          vq_callback_t 
*callbacks[VIRTBT_NUM_VQS] = {
148a48f6139397 Marcel Holtmann 2021-04-06  244                  [VIRTBT_VQ_TX] 
= virtbt_tx_done,
148a48f6139397 Marcel Holtmann 2021-04-06  245                  [VIRTBT_VQ_RX] 
= virtbt_rx_done,
148a48f6139397 Marcel Holtmann 2021-04-06  246          };
148a48f6139397 Marcel Holtmann 2021-04-06  247          const char 
*names[VIRTBT_NUM_VQS] = {
148a48f6139397 Marcel Holtmann 2021-04-06  248                  [VIRTBT_VQ_TX] 
= "tx",
148a48f6139397 Marcel Holtmann 2021-04-06  249                  [VIRTBT_VQ_RX] 
= "rx",
148a48f6139397 Marcel Holtmann 2021-04-06  250          };
148a48f6139397 Marcel Holtmann 2021-04-06  251          struct virtio_bluetooth 
*vbt;
148a48f6139397 Marcel Holtmann 2021-04-06  252          struct hci_dev *hdev;
148a48f6139397 Marcel Holtmann 2021-04-06  253          int err;
148a48f6139397 Marcel Holtmann 2021-04-06  254          __u8 type;
148a48f6139397 Marcel Holtmann 2021-04-06  255  
148a48f6139397 Marcel Holtmann 2021-04-06  256          if 
(!virtio_has_feature(vdev, VIRTIO_F_VERSION_1))
148a48f6139397 Marcel Holtmann 2021-04-06  257                  return -ENODEV;
148a48f6139397 Marcel Holtmann 2021-04-06  258  
148a48f6139397 Marcel Holtmann 2021-04-06  259          type = 
virtio_cread8(vdev, offsetof(struct virtio_bt_config, type));
148a48f6139397 Marcel Holtmann 2021-04-06  260  
148a48f6139397 Marcel Holtmann 2021-04-06  261          switch (type) {
148a48f6139397 Marcel Holtmann 2021-04-06  262          case 
VIRTIO_BT_CONFIG_TYPE_PRIMARY:
148a48f6139397 Marcel Holtmann 2021-04-06  263          case 
VIRTIO_BT_CONFIG_TYPE_AMP:
148a48f6139397 Marcel Holtmann 2021-04-06  264                  break;
148a48f6139397 Marcel Holtmann 2021-04-06  265          default:
148a48f6139397 Marcel Holtmann 2021-04-06  266                  return -EINVAL;
148a48f6139397 Marcel Holtmann 2021-04-06  267          }
148a48f6139397 Marcel Holtmann 2021-04-06  268  
148a48f6139397 Marcel Holtmann 2021-04-06  269          vbt = 
kzalloc(sizeof(*vbt), GFP_KERNEL);
148a48f6139397 Marcel Holtmann 2021-04-06  270          if (!vbt)
148a48f6139397 Marcel Holtmann 2021-04-06  271                  return -ENOMEM;
148a48f6139397 Marcel Holtmann 2021-04-06  272  
148a48f6139397 Marcel Holtmann 2021-04-06  273          vdev->priv = vbt;
148a48f6139397 Marcel Holtmann 2021-04-06  274          vbt->vdev = vdev;
148a48f6139397 Marcel Holtmann 2021-04-06  275  
148a48f6139397 Marcel Holtmann 2021-04-06  276          INIT_WORK(&vbt->rx, 
virtbt_rx_work);
148a48f6139397 Marcel Holtmann 2021-04-06  277  
148a48f6139397 Marcel Holtmann 2021-04-06  278          err = 
virtio_find_vqs(vdev, VIRTBT_NUM_VQS, vbt->vqs, callbacks,
148a48f6139397 Marcel Holtmann 2021-04-06  279                                
names, NULL);
148a48f6139397 Marcel Holtmann 2021-04-06  280          if (err)
148a48f6139397 Marcel Holtmann 2021-04-06  281                  return err;
148a48f6139397 Marcel Holtmann 2021-04-06  282  
148a48f6139397 Marcel Holtmann 2021-04-06  283          hdev = hci_alloc_dev();
148a48f6139397 Marcel Holtmann 2021-04-06  284          if (!hdev) {
148a48f6139397 Marcel Holtmann 2021-04-06  285                  err = -ENOMEM;
148a48f6139397 Marcel Holtmann 2021-04-06  286                  goto failed;
148a48f6139397 Marcel Holtmann 2021-04-06  287          }
148a48f6139397 Marcel Holtmann 2021-04-06  288  
148a48f6139397 Marcel Holtmann 2021-04-06  289          vbt->hdev = hdev;
148a48f6139397 Marcel Holtmann 2021-04-06  290  
148a48f6139397 Marcel Holtmann 2021-04-06  291          hdev->bus = HCI_VIRTIO;
148a48f6139397 Marcel Holtmann 2021-04-06  292          hdev->dev_type = type;
148a48f6139397 Marcel Holtmann 2021-04-06  293          hci_set_drvdata(hdev, 
vbt);
148a48f6139397 Marcel Holtmann 2021-04-06  294  
148a48f6139397 Marcel Holtmann 2021-04-06  295          hdev->open  = 
virtbt_open;
148a48f6139397 Marcel Holtmann 2021-04-06  296          hdev->close = 
virtbt_close;
148a48f6139397 Marcel Holtmann 2021-04-06  297          hdev->flush = 
virtbt_flush;
148a48f6139397 Marcel Holtmann 2021-04-06  298          hdev->send  = 
virtbt_send_frame;
148a48f6139397 Marcel Holtmann 2021-04-06  299  
148a48f6139397 Marcel Holtmann 2021-04-06  300          if 
(virtio_has_feature(vdev, VIRTIO_BT_F_VND_HCI)) {
148a48f6139397 Marcel Holtmann 2021-04-06  301                  __u16 vendor;
148a48f6139397 Marcel Holtmann 2021-04-06  302  
148a48f6139397 Marcel Holtmann 2021-04-06 @303                  
virtio_cread(vdev, struct virtio_bt_config, vendor, &vendor);
148a48f6139397 Marcel Holtmann 2021-04-06  304  
148a48f6139397 Marcel Holtmann 2021-04-06  305                  switch (vendor) 
{
148a48f6139397 Marcel Holtmann 2021-04-06  306                  case 
VIRTIO_BT_CONFIG_VENDOR_ZEPHYR:
148a48f6139397 Marcel Holtmann 2021-04-06  307                          
hdev->manufacturer = 1521;
148a48f6139397 Marcel Holtmann 2021-04-06  308                          
hdev->setup = virtbt_setup_zephyr;
148a48f6139397 Marcel Holtmann 2021-04-06  309                          
hdev->shutdown = virtbt_shutdown_generic;
148a48f6139397 Marcel Holtmann 2021-04-06  310                          
hdev->set_bdaddr = virtbt_set_bdaddr_zephyr;
148a48f6139397 Marcel Holtmann 2021-04-06  311                          break;
148a48f6139397 Marcel Holtmann 2021-04-06  312  
148a48f6139397 Marcel Holtmann 2021-04-06  313                  case 
VIRTIO_BT_CONFIG_VENDOR_INTEL:
148a48f6139397 Marcel Holtmann 2021-04-06  314                          
hdev->manufacturer = 2;
148a48f6139397 Marcel Holtmann 2021-04-06  315                          
hdev->setup = virtbt_setup_intel;
148a48f6139397 Marcel Holtmann 2021-04-06  316                          
hdev->shutdown = virtbt_shutdown_generic;
148a48f6139397 Marcel Holtmann 2021-04-06  317                          
hdev->set_bdaddr = virtbt_set_bdaddr_intel;
148a48f6139397 Marcel Holtmann 2021-04-06  318                          
set_bit(HCI_QUIRK_STRICT_DUPLICATE_FILTER, &hdev->quirks);
148a48f6139397 Marcel Holtmann 2021-04-06  319                          
set_bit(HCI_QUIRK_SIMULTANEOUS_DISCOVERY, &hdev->quirks);
148a48f6139397 Marcel Holtmann 2021-04-06  320                          
set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED, &hdev->quirks);
148a48f6139397 Marcel Holtmann 2021-04-06  321                          break;
148a48f6139397 Marcel Holtmann 2021-04-06  322  
148a48f6139397 Marcel Holtmann 2021-04-06  323                  case 
VIRTIO_BT_CONFIG_VENDOR_REALTEK:
148a48f6139397 Marcel Holtmann 2021-04-06  324                          
hdev->manufacturer = 93;
148a48f6139397 Marcel Holtmann 2021-04-06  325                          
hdev->setup = virtbt_setup_realtek;
148a48f6139397 Marcel Holtmann 2021-04-06  326                          
hdev->shutdown = virtbt_shutdown_generic;
148a48f6139397 Marcel Holtmann 2021-04-06  327                          
set_bit(HCI_QUIRK_SIMULTANEOUS_DISCOVERY, &hdev->quirks);
148a48f6139397 Marcel Holtmann 2021-04-06  328                          
set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED, &hdev->quirks);
148a48f6139397 Marcel Holtmann 2021-04-06  329                          break;
148a48f6139397 Marcel Holtmann 2021-04-06  330                  }
148a48f6139397 Marcel Holtmann 2021-04-06  331          }
148a48f6139397 Marcel Holtmann 2021-04-06  332  
148a48f6139397 Marcel Holtmann 2021-04-06  333          if 
(virtio_has_feature(vdev, VIRTIO_BT_F_MSFT_EXT)) {
148a48f6139397 Marcel Holtmann 2021-04-06  334                  __u16 
msft_opcode;
148a48f6139397 Marcel Holtmann 2021-04-06  335  
148a48f6139397 Marcel Holtmann 2021-04-06  336                  
virtio_cread(vdev, struct virtio_bt_config,
148a48f6139397 Marcel Holtmann 2021-04-06  337                               
msft_opcode, &msft_opcode);
148a48f6139397 Marcel Holtmann 2021-04-06  338  
148a48f6139397 Marcel Holtmann 2021-04-06  339                  
hci_set_msft_opcode(hdev, msft_opcode);
148a48f6139397 Marcel Holtmann 2021-04-06  340          }
148a48f6139397 Marcel Holtmann 2021-04-06  341  
148a48f6139397 Marcel Holtmann 2021-04-06  342          if 
(virtio_has_feature(vdev, VIRTIO_BT_F_AOSP_EXT))
148a48f6139397 Marcel Holtmann 2021-04-06  343                  
hci_set_aosp_capable(hdev);
148a48f6139397 Marcel Holtmann 2021-04-06  344  
148a48f6139397 Marcel Holtmann 2021-04-06  345          if 
(hci_register_dev(hdev) < 0) {
148a48f6139397 Marcel Holtmann 2021-04-06  346                  
hci_free_dev(hdev);
148a48f6139397 Marcel Holtmann 2021-04-06  347                  err = -EBUSY;
148a48f6139397 Marcel Holtmann 2021-04-06  348                  goto failed;
148a48f6139397 Marcel Holtmann 2021-04-06  349          }
148a48f6139397 Marcel Holtmann 2021-04-06  350  
148a48f6139397 Marcel Holtmann 2021-04-06  351          return 0;
148a48f6139397 Marcel Holtmann 2021-04-06  352  
148a48f6139397 Marcel Holtmann 2021-04-06  353  failed:
148a48f6139397 Marcel Holtmann 2021-04-06  354          
vdev->config->del_vqs(vdev);
148a48f6139397 Marcel Holtmann 2021-04-06  355          return err;
148a48f6139397 Marcel Holtmann 2021-04-06  356  }
148a48f6139397 Marcel Holtmann 2021-04-06  357  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to