diff options
author | Nick Pelly <npelly@google.com> | 2010-03-09 12:08:00 -0800 |
---|---|---|
committer | Nick Pelly <npelly@google.com> | 2010-03-09 12:09:45 -0800 |
commit | 71682ea19f8d5d96034ce113acbbf83ac58173e6 (patch) | |
tree | e977768b59a52992ef141540a58e73bdad4910dd /net | |
parent | f6320db51173e3b94f54b87944b88d3b363c4487 (diff) |
Revert "Bluetooth: Introduce L2CAP_LM_FLUSHABLE to allow flushing of ACL packets."
This reverts commit d7897fd1e9fb3a5df0740dc2dc45ec94ca0965f2.
Change-Id: I3401550b6dc97b683104e9fdac30a617a2db8c8e
Signed-off-by: Nick Pelly <npelly@google.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/bluetooth/hci_core.c | 6 | ||||
-rw-r--r-- | net/bluetooth/l2cap.c | 18 |
2 files changed, 5 insertions, 19 deletions
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c index 84a9d75b0c61..e1da8f68759c 100644 --- a/net/bluetooth/hci_core.c +++ b/net/bluetooth/hci_core.c @@ -1239,7 +1239,7 @@ int hci_send_acl(struct hci_conn *conn, struct sk_buff *skb, __u16 flags) skb->dev = (void *) hdev; bt_cb(skb)->pkt_type = HCI_ACLDATA_PKT; - hci_add_acl_hdr(skb, conn->handle, flags); + hci_add_acl_hdr(skb, conn->handle, flags | ACL_START); if (!(list = skb_shinfo(skb)->frag_list)) { /* Non fragmented */ @@ -1256,14 +1256,12 @@ int hci_send_acl(struct hci_conn *conn, struct sk_buff *skb, __u16 flags) spin_lock_bh(&conn->data_q.lock); __skb_queue_tail(&conn->data_q, skb); - flags &= ~ACL_PB_MASK; - flags |= ACL_CONT; do { skb = list; list = list->next; skb->dev = (void *) hdev; bt_cb(skb)->pkt_type = HCI_ACLDATA_PKT; - hci_add_acl_hdr(skb, conn->handle, flags); + hci_add_acl_hdr(skb, conn->handle, flags | ACL_CONT); BT_DBG("%s frag %p len %d", hdev->name, skb, skb->len); diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c index b342f0680a7b..6e3b59690d0e 100644 --- a/net/bluetooth/l2cap.c +++ b/net/bluetooth/l2cap.c @@ -331,7 +331,7 @@ static inline int l2cap_send_cmd(struct l2cap_conn *conn, u8 ident, u8 code, u16 if (!skb) return -ENOMEM; - return hci_send_acl(conn->hcon, skb, ACL_START); + return hci_send_acl(conn->hcon, skb, 0); } static inline int l2cap_send_sframe(struct l2cap_pinfo *pi, u16 control) @@ -770,7 +770,6 @@ static void l2cap_sock_init(struct sock *sk, struct sock *parent) pi->sec_level = l2cap_pi(parent)->sec_level; pi->role_switch = l2cap_pi(parent)->role_switch; pi->force_reliable = l2cap_pi(parent)->force_reliable; - pi->flushable = l2cap_pi(parent)->flushable; } else { pi->imtu = L2CAP_DEFAULT_MTU; pi->omtu = 0; @@ -779,7 +778,6 @@ static void l2cap_sock_init(struct sock *sk, struct sock *parent) pi->sec_level = BT_SECURITY_LOW; pi->role_switch = 0; pi->force_reliable = 0; - pi->flushable = 0; } /* Default config options */ @@ -1261,16 +1259,10 @@ static inline int l2cap_do_send(struct sock *sk, struct sk_buff *skb) { struct l2cap_pinfo *pi = l2cap_pi(sk); int err; - u16 flags; BT_DBG("sk %p, skb %p len %d", sk, skb, skb->len); - if (pi->flushable) - flags = ACL_START_FLUSHABLE; - else - flags = ACL_START; - - err = hci_send_acl(pi->conn->hcon, skb, flags); + err = hci_send_acl(pi->conn->hcon, skb, 0); if (err < 0) kfree_skb(skb); @@ -1755,7 +1747,6 @@ static int l2cap_sock_setsockopt_old(struct socket *sock, int optname, char __us l2cap_pi(sk)->role_switch = (opt & L2CAP_LM_MASTER); l2cap_pi(sk)->force_reliable = (opt & L2CAP_LM_RELIABLE); - l2cap_pi(sk)->flushable = (opt & L2CAP_LM_FLUSHABLE); break; default: @@ -1883,9 +1874,6 @@ static int l2cap_sock_getsockopt_old(struct socket *sock, int optname, char __us if (l2cap_pi(sk)->force_reliable) opt |= L2CAP_LM_RELIABLE; - if (l2cap_pi(sk)->flushable) - opt |= L2CAP_LM_FLUSHABLE; - if (put_user(opt, (u32 __user *) optval)) err = -EFAULT; break; @@ -3813,7 +3801,7 @@ static int l2cap_recv_acldata(struct hci_conn *hcon, struct sk_buff *skb, u16 fl BT_DBG("conn %p len %d flags 0x%x", conn, skb->len, flags); - if (!(flags & ACL_CONT)) { + if (flags & ACL_START) { struct l2cap_hdr *hdr; int len; |