Lines Matching refs:hdev
65 struct hci_dev *hdev; member
152 data->hdev->name, urb, err); in bfusb_send_bulk()
197 if (!test_bit(HCI_RUNNING, &data->hdev->flags)) in bfusb_tx_complete()
201 data->hdev->stat.byte_tx += skb->len; in bfusb_tx_complete()
203 data->hdev->stat.err_tx++; in bfusb_tx_complete()
251 data->hdev->name, urb, err); in bfusb_rx_submit()
265 BT_ERR("%s error in block", data->hdev->name); in bfusb_recv_block()
277 BT_ERR("%s unexpected start block", data->hdev->name); in bfusb_recv_block()
283 BT_ERR("%s no packet type found", data->hdev->name); in bfusb_recv_block()
295 BT_ERR("%s event block is too short", data->hdev->name); in bfusb_recv_block()
305 BT_ERR("%s data block is too short", data->hdev->name); in bfusb_recv_block()
315 BT_ERR("%s audio block is too short", data->hdev->name); in bfusb_recv_block()
323 BT_ERR("%s no memory for the packet", data->hdev->name); in bfusb_recv_block()
332 BT_ERR("%s unexpected continuation block", data->hdev->name); in bfusb_recv_block()
341 hci_recv_frame(data->hdev, data->reassembly); in bfusb_recv_block()
360 if (!test_bit(HCI_RUNNING, &data->hdev->flags)) in bfusb_rx_complete()
366 data->hdev->stat.byte_rx += count; in bfusb_rx_complete()
385 data->hdev->name); in bfusb_rx_complete()
410 data->hdev->name, urb, err); in bfusb_rx_complete()
417 static int bfusb_open(struct hci_dev *hdev) in bfusb_open() argument
419 struct bfusb_data *data = hci_get_drvdata(hdev); in bfusb_open()
423 BT_DBG("hdev %p bfusb %p", hdev, data); in bfusb_open()
425 if (test_and_set_bit(HCI_RUNNING, &hdev->flags)) in bfusb_open()
435 clear_bit(HCI_RUNNING, &hdev->flags); in bfusb_open()
443 static int bfusb_flush(struct hci_dev *hdev) in bfusb_flush() argument
445 struct bfusb_data *data = hci_get_drvdata(hdev); in bfusb_flush()
447 BT_DBG("hdev %p bfusb %p", hdev, data); in bfusb_flush()
454 static int bfusb_close(struct hci_dev *hdev) in bfusb_close() argument
456 struct bfusb_data *data = hci_get_drvdata(hdev); in bfusb_close()
459 BT_DBG("hdev %p bfusb %p", hdev, data); in bfusb_close()
461 if (!test_and_clear_bit(HCI_RUNNING, &hdev->flags)) in bfusb_close()
468 bfusb_flush(hdev); in bfusb_close()
473 static int bfusb_send_frame(struct hci_dev *hdev, struct sk_buff *skb) in bfusb_send_frame() argument
475 struct bfusb_data *data = hci_get_drvdata(hdev); in bfusb_send_frame()
480 BT_DBG("hdev %p skb %p type %d len %d", hdev, skb, bt_cb(skb)->pkt_type, skb->len); in bfusb_send_frame()
482 if (!test_bit(HCI_RUNNING, &hdev->flags)) in bfusb_send_frame()
487 hdev->stat.cmd_tx++; in bfusb_send_frame()
490 hdev->stat.acl_tx++; in bfusb_send_frame()
493 hdev->stat.sco_tx++; in bfusb_send_frame()
630 struct hci_dev *hdev; in bfusb_probe() local
682 hdev = hci_alloc_dev(); in bfusb_probe()
683 if (!hdev) { in bfusb_probe()
688 data->hdev = hdev; in bfusb_probe()
690 hdev->bus = HCI_USB; in bfusb_probe()
691 hci_set_drvdata(hdev, data); in bfusb_probe()
692 SET_HCIDEV_DEV(hdev, &intf->dev); in bfusb_probe()
694 hdev->open = bfusb_open; in bfusb_probe()
695 hdev->close = bfusb_close; in bfusb_probe()
696 hdev->flush = bfusb_flush; in bfusb_probe()
697 hdev->send = bfusb_send_frame; in bfusb_probe()
699 set_bit(HCI_QUIRK_BROKEN_LOCAL_COMMANDS, &hdev->quirks); in bfusb_probe()
701 if (hci_register_dev(hdev) < 0) { in bfusb_probe()
703 hci_free_dev(hdev); in bfusb_probe()
721 struct hci_dev *hdev = data->hdev; in bfusb_disconnect() local
725 if (!hdev) in bfusb_disconnect()
730 bfusb_close(hdev); in bfusb_disconnect()
732 hci_unregister_dev(hdev); in bfusb_disconnect()
733 hci_free_dev(hdev); in bfusb_disconnect()