Loading include/net/bluetooth/hci_core.h +1 −1 Original line number Diff line number Diff line Loading @@ -132,7 +132,7 @@ struct hci_dev { struct inquiry_cache inq_cache; struct hci_conn_hash conn_hash; struct bdaddr_list blacklist; struct list_head blacklist; struct hci_dev_stats stat; Loading net/bluetooth/hci_core.c +1 −1 Original line number Diff line number Diff line Loading @@ -924,7 +924,7 @@ int hci_register_dev(struct hci_dev *hdev) hci_conn_hash_init(hdev); INIT_LIST_HEAD(&hdev->blacklist.list); INIT_LIST_HEAD(&hdev->blacklist); memset(&hdev->stat, 0, sizeof(struct hci_dev_stats)); Loading net/bluetooth/hci_sock.c +3 −5 Original line number Diff line number Diff line Loading @@ -168,9 +168,8 @@ static int hci_sock_release(struct socket *sock) struct bdaddr_list *hci_blacklist_lookup(struct hci_dev *hdev, bdaddr_t *bdaddr) { struct list_head *p; struct bdaddr_list *blacklist = &hdev->blacklist; list_for_each(p, &blacklist->list) { list_for_each(p, &hdev->blacklist) { struct bdaddr_list *b; b = list_entry(p, struct bdaddr_list, list); Loading Loading @@ -202,7 +201,7 @@ static int hci_blacklist_add(struct hci_dev *hdev, void __user *arg) bacpy(&entry->bdaddr, &bdaddr); list_add(&entry->list, &hdev->blacklist.list); list_add(&entry->list, &hdev->blacklist); return 0; } Loading @@ -210,9 +209,8 @@ static int hci_blacklist_add(struct hci_dev *hdev, void __user *arg) int hci_blacklist_clear(struct hci_dev *hdev) { struct list_head *p, *n; struct bdaddr_list *blacklist = &hdev->blacklist; list_for_each_safe(p, n, &blacklist->list) { list_for_each_safe(p, n, &hdev->blacklist) { struct bdaddr_list *b; b = list_entry(p, struct bdaddr_list, list); Loading net/bluetooth/hci_sysfs.c +1 −2 Original line number Diff line number Diff line Loading @@ -439,12 +439,11 @@ static const struct file_operations inquiry_cache_fops = { static int blacklist_show(struct seq_file *f, void *p) { struct hci_dev *hdev = f->private; struct bdaddr_list *blacklist = &hdev->blacklist; struct list_head *l; hci_dev_lock_bh(hdev); list_for_each(l, &blacklist->list) { list_for_each(l, &hdev->blacklist) { struct bdaddr_list *b; bdaddr_t bdaddr; Loading net/bluetooth/l2cap.c +21 −3 Original line number Diff line number Diff line Loading @@ -2527,6 +2527,10 @@ static int l2cap_build_conf_req(struct sock *sk, void *data) if (pi->imtu != L2CAP_DEFAULT_MTU) l2cap_add_conf_opt(&ptr, L2CAP_CONF_MTU, 2, pi->imtu); if (!(pi->conn->feat_mask & L2CAP_FEAT_ERTM) && !(pi->conn->feat_mask & L2CAP_FEAT_STREAMING)) break; rfc.mode = L2CAP_MODE_BASIC; rfc.txwin_size = 0; rfc.max_transmit = 0; Loading @@ -2534,6 +2538,8 @@ static int l2cap_build_conf_req(struct sock *sk, void *data) rfc.monitor_timeout = 0; rfc.max_pdu_size = 0; l2cap_add_conf_opt(&ptr, L2CAP_CONF_RFC, sizeof(rfc), (unsigned long) &rfc); break; case L2CAP_MODE_ERTM: Loading @@ -2546,6 +2552,9 @@ static int l2cap_build_conf_req(struct sock *sk, void *data) if (L2CAP_DEFAULT_MAX_PDU_SIZE > pi->conn->mtu - 10) rfc.max_pdu_size = cpu_to_le16(pi->conn->mtu - 10); l2cap_add_conf_opt(&ptr, L2CAP_CONF_RFC, sizeof(rfc), (unsigned long) &rfc); if (!(pi->conn->feat_mask & L2CAP_FEAT_FCS)) break; Loading @@ -2566,6 +2575,9 @@ static int l2cap_build_conf_req(struct sock *sk, void *data) if (L2CAP_DEFAULT_MAX_PDU_SIZE > pi->conn->mtu - 10) rfc.max_pdu_size = cpu_to_le16(pi->conn->mtu - 10); l2cap_add_conf_opt(&ptr, L2CAP_CONF_RFC, sizeof(rfc), (unsigned long) &rfc); if (!(pi->conn->feat_mask & L2CAP_FEAT_FCS)) break; Loading @@ -2577,9 +2589,6 @@ static int l2cap_build_conf_req(struct sock *sk, void *data) break; } l2cap_add_conf_opt(&ptr, L2CAP_CONF_RFC, sizeof(rfc), (unsigned long) &rfc); /* FIXME: Need actual value of the flush timeout */ //if (flush_to != L2CAP_DEFAULT_FLUSH_TO) // l2cap_add_conf_opt(&ptr, L2CAP_CONF_FLUSH_TO, 2, pi->flush_to); Loading Loading @@ -3339,6 +3348,15 @@ static inline int l2cap_information_rsp(struct l2cap_conn *conn, struct l2cap_cm del_timer(&conn->info_timer); if (result != L2CAP_IR_SUCCESS) { conn->info_state |= L2CAP_INFO_FEAT_MASK_REQ_DONE; conn->info_ident = 0; l2cap_conn_start(conn); return 0; } if (type == L2CAP_IT_FEAT_MASK) { conn->feat_mask = get_unaligned_le32(rsp->data); Loading Loading
include/net/bluetooth/hci_core.h +1 −1 Original line number Diff line number Diff line Loading @@ -132,7 +132,7 @@ struct hci_dev { struct inquiry_cache inq_cache; struct hci_conn_hash conn_hash; struct bdaddr_list blacklist; struct list_head blacklist; struct hci_dev_stats stat; Loading
net/bluetooth/hci_core.c +1 −1 Original line number Diff line number Diff line Loading @@ -924,7 +924,7 @@ int hci_register_dev(struct hci_dev *hdev) hci_conn_hash_init(hdev); INIT_LIST_HEAD(&hdev->blacklist.list); INIT_LIST_HEAD(&hdev->blacklist); memset(&hdev->stat, 0, sizeof(struct hci_dev_stats)); Loading
net/bluetooth/hci_sock.c +3 −5 Original line number Diff line number Diff line Loading @@ -168,9 +168,8 @@ static int hci_sock_release(struct socket *sock) struct bdaddr_list *hci_blacklist_lookup(struct hci_dev *hdev, bdaddr_t *bdaddr) { struct list_head *p; struct bdaddr_list *blacklist = &hdev->blacklist; list_for_each(p, &blacklist->list) { list_for_each(p, &hdev->blacklist) { struct bdaddr_list *b; b = list_entry(p, struct bdaddr_list, list); Loading Loading @@ -202,7 +201,7 @@ static int hci_blacklist_add(struct hci_dev *hdev, void __user *arg) bacpy(&entry->bdaddr, &bdaddr); list_add(&entry->list, &hdev->blacklist.list); list_add(&entry->list, &hdev->blacklist); return 0; } Loading @@ -210,9 +209,8 @@ static int hci_blacklist_add(struct hci_dev *hdev, void __user *arg) int hci_blacklist_clear(struct hci_dev *hdev) { struct list_head *p, *n; struct bdaddr_list *blacklist = &hdev->blacklist; list_for_each_safe(p, n, &blacklist->list) { list_for_each_safe(p, n, &hdev->blacklist) { struct bdaddr_list *b; b = list_entry(p, struct bdaddr_list, list); Loading
net/bluetooth/hci_sysfs.c +1 −2 Original line number Diff line number Diff line Loading @@ -439,12 +439,11 @@ static const struct file_operations inquiry_cache_fops = { static int blacklist_show(struct seq_file *f, void *p) { struct hci_dev *hdev = f->private; struct bdaddr_list *blacklist = &hdev->blacklist; struct list_head *l; hci_dev_lock_bh(hdev); list_for_each(l, &blacklist->list) { list_for_each(l, &hdev->blacklist) { struct bdaddr_list *b; bdaddr_t bdaddr; Loading
net/bluetooth/l2cap.c +21 −3 Original line number Diff line number Diff line Loading @@ -2527,6 +2527,10 @@ static int l2cap_build_conf_req(struct sock *sk, void *data) if (pi->imtu != L2CAP_DEFAULT_MTU) l2cap_add_conf_opt(&ptr, L2CAP_CONF_MTU, 2, pi->imtu); if (!(pi->conn->feat_mask & L2CAP_FEAT_ERTM) && !(pi->conn->feat_mask & L2CAP_FEAT_STREAMING)) break; rfc.mode = L2CAP_MODE_BASIC; rfc.txwin_size = 0; rfc.max_transmit = 0; Loading @@ -2534,6 +2538,8 @@ static int l2cap_build_conf_req(struct sock *sk, void *data) rfc.monitor_timeout = 0; rfc.max_pdu_size = 0; l2cap_add_conf_opt(&ptr, L2CAP_CONF_RFC, sizeof(rfc), (unsigned long) &rfc); break; case L2CAP_MODE_ERTM: Loading @@ -2546,6 +2552,9 @@ static int l2cap_build_conf_req(struct sock *sk, void *data) if (L2CAP_DEFAULT_MAX_PDU_SIZE > pi->conn->mtu - 10) rfc.max_pdu_size = cpu_to_le16(pi->conn->mtu - 10); l2cap_add_conf_opt(&ptr, L2CAP_CONF_RFC, sizeof(rfc), (unsigned long) &rfc); if (!(pi->conn->feat_mask & L2CAP_FEAT_FCS)) break; Loading @@ -2566,6 +2575,9 @@ static int l2cap_build_conf_req(struct sock *sk, void *data) if (L2CAP_DEFAULT_MAX_PDU_SIZE > pi->conn->mtu - 10) rfc.max_pdu_size = cpu_to_le16(pi->conn->mtu - 10); l2cap_add_conf_opt(&ptr, L2CAP_CONF_RFC, sizeof(rfc), (unsigned long) &rfc); if (!(pi->conn->feat_mask & L2CAP_FEAT_FCS)) break; Loading @@ -2577,9 +2589,6 @@ static int l2cap_build_conf_req(struct sock *sk, void *data) break; } l2cap_add_conf_opt(&ptr, L2CAP_CONF_RFC, sizeof(rfc), (unsigned long) &rfc); /* FIXME: Need actual value of the flush timeout */ //if (flush_to != L2CAP_DEFAULT_FLUSH_TO) // l2cap_add_conf_opt(&ptr, L2CAP_CONF_FLUSH_TO, 2, pi->flush_to); Loading Loading @@ -3339,6 +3348,15 @@ static inline int l2cap_information_rsp(struct l2cap_conn *conn, struct l2cap_cm del_timer(&conn->info_timer); if (result != L2CAP_IR_SUCCESS) { conn->info_state |= L2CAP_INFO_FEAT_MASK_REQ_DONE; conn->info_ident = 0; l2cap_conn_start(conn); return 0; } if (type == L2CAP_IT_FEAT_MASK) { conn->feat_mask = get_unaligned_le32(rsp->data); Loading