• Home
  • Raw
  • Download

Lines Matching refs:hdev

70 void hci_send_to_sock(struct hci_dev *hdev, struct sk_buff *skb)  in hci_send_to_sock()  argument
75 BT_DBG("hdev %p len %d", hdev, skb->len); in hci_send_to_sock()
83 if (sk->sk_state != BT_BOUND || hci_pi(sk)->hdev != hdev) in hci_send_to_sock()
174 void hci_send_to_monitor(struct hci_dev *hdev, struct sk_buff *skb) in hci_send_to_monitor() argument
183 BT_DBG("hdev %p len %d", hdev, skb->len); in hci_send_to_monitor()
231 hdr->index = cpu_to_le16(hdev->id); in hci_send_to_monitor()
276 static struct sk_buff *create_monitor_event(struct hci_dev *hdev, int event) in create_monitor_event() argument
290 ni->type = hdev->dev_type; in create_monitor_event()
291 ni->bus = hdev->bus; in create_monitor_event()
292 bacpy(&ni->bdaddr, &hdev->bdaddr); in create_monitor_event()
293 memcpy(ni->name, hdev->name, 8); in create_monitor_event()
314 hdr->index = cpu_to_le16(hdev->id); in create_monitor_event()
322 struct hci_dev *hdev; in send_monitor_replay() local
326 list_for_each_entry(hdev, &hci_dev_list, list) { in send_monitor_replay()
329 skb = create_monitor_event(hdev, HCI_DEV_REG); in send_monitor_replay()
341 static void hci_si_event(struct hci_dev *hdev, int type, int dlen, void *data) in hci_si_event() argument
363 skb->dev = (void *) hdev; in hci_si_event()
364 hci_send_to_sock(hdev, skb); in hci_si_event()
368 void hci_sock_dev_event(struct hci_dev *hdev, int event) in hci_sock_dev_event() argument
372 BT_DBG("hdev %s event %d", hdev->name, event); in hci_sock_dev_event()
378 skb = create_monitor_event(hdev, event); in hci_sock_dev_event()
387 ev.dev_id = hdev->id; in hci_sock_dev_event()
397 if (hci_pi(sk)->hdev == hdev) { in hci_sock_dev_event()
398 hci_pi(sk)->hdev = NULL; in hci_sock_dev_event()
403 hci_dev_put(hdev); in hci_sock_dev_event()
414 struct hci_dev *hdev; in hci_sock_release() local
421 hdev = hci_pi(sk)->hdev; in hci_sock_release()
428 if (hdev) { in hci_sock_release()
429 atomic_dec(&hdev->promisc); in hci_sock_release()
430 hci_dev_put(hdev); in hci_sock_release()
442 static int hci_sock_blacklist_add(struct hci_dev *hdev, void __user *arg) in hci_sock_blacklist_add() argument
450 hci_dev_lock(hdev); in hci_sock_blacklist_add()
452 err = hci_blacklist_add(hdev, &bdaddr, 0); in hci_sock_blacklist_add()
454 hci_dev_unlock(hdev); in hci_sock_blacklist_add()
459 static int hci_sock_blacklist_del(struct hci_dev *hdev, void __user *arg) in hci_sock_blacklist_del() argument
467 hci_dev_lock(hdev); in hci_sock_blacklist_del()
469 err = hci_blacklist_del(hdev, &bdaddr, 0); in hci_sock_blacklist_del()
471 hci_dev_unlock(hdev); in hci_sock_blacklist_del()
480 struct hci_dev *hdev = hci_pi(sk)->hdev; in hci_sock_bound_ioctl() local
482 if (!hdev) in hci_sock_bound_ioctl()
490 if (test_bit(HCI_QUIRK_RAW_DEVICE, &hdev->quirks)) in hci_sock_bound_ioctl()
494 set_bit(HCI_RAW, &hdev->flags); in hci_sock_bound_ioctl()
496 clear_bit(HCI_RAW, &hdev->flags); in hci_sock_bound_ioctl()
501 return hci_get_conn_info(hdev, (void __user *) arg); in hci_sock_bound_ioctl()
504 return hci_get_auth_info(hdev, (void __user *) arg); in hci_sock_bound_ioctl()
509 return hci_sock_blacklist_add(hdev, (void __user *) arg); in hci_sock_bound_ioctl()
514 return hci_sock_blacklist_del(hdev, (void __user *) arg); in hci_sock_bound_ioctl()
517 if (hdev->ioctl) in hci_sock_bound_ioctl()
518 return hdev->ioctl(hdev, cmd, arg); in hci_sock_bound_ioctl()
590 struct hci_dev *hdev = NULL; in hci_sock_bind() local
614 if (hci_pi(sk)->hdev) { in hci_sock_bind()
620 hdev = hci_dev_get(haddr.hci_dev); in hci_sock_bind()
621 if (!hdev) { in hci_sock_bind()
626 atomic_inc(&hdev->promisc); in hci_sock_bind()
629 hci_pi(sk)->hdev = hdev; in hci_sock_bind()
680 struct hci_dev *hdev = hci_pi(sk)->hdev; in hci_sock_getname() local
684 if (!hdev) in hci_sock_getname()
691 haddr->hci_dev = hdev->id; in hci_sock_getname()
785 struct hci_dev *hdev; in hci_sock_sendmsg() local
816 hdev = hci_pi(sk)->hdev; in hci_sock_sendmsg()
817 if (!hdev) { in hci_sock_sendmsg()
822 if (!test_bit(HCI_UP, &hdev->flags)) { in hci_sock_sendmsg()
838 skb->dev = (void *) hdev; in hci_sock_sendmsg()
853 if (test_bit(HCI_RAW, &hdev->flags) || (ogf == 0x3f)) { in hci_sock_sendmsg()
854 skb_queue_tail(&hdev->raw_q, skb); in hci_sock_sendmsg()
855 queue_work(hdev->workqueue, &hdev->tx_work); in hci_sock_sendmsg()
862 skb_queue_tail(&hdev->cmd_q, skb); in hci_sock_sendmsg()
863 queue_work(hdev->workqueue, &hdev->cmd_work); in hci_sock_sendmsg()
871 skb_queue_tail(&hdev->raw_q, skb); in hci_sock_sendmsg()
872 queue_work(hdev->workqueue, &hdev->tx_work); in hci_sock_sendmsg()