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]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
