diff options
author | Ruiyi Zhang <Ruiyi.zhang@atheros.com> | 2011-04-18 11:04:30 +0800 |
---|---|---|
committer | Gustavo F. Padovan <padovan@profusion.mobi> | 2011-04-18 20:11:47 -0300 |
commit | a429b51930e64dd355840c37251a563000d7c10b (patch) | |
tree | 24e69908100bf6297cb5c5597f2d1dcd970bfe7f /net/bluetooth | |
parent | f21ca5fff6e548833fa5ee8867239a8378623150 (diff) | |
download | linux-a429b51930e64dd355840c37251a563000d7c10b.tar.gz linux-a429b51930e64dd355840c37251a563000d7c10b.tar.bz2 linux-a429b51930e64dd355840c37251a563000d7c10b.zip |
Bluetooth: Only keeping SAR bits when retransmitting one frame.
When retrasmitting one frame, only SAR bits in control field should
be kept.
Signed-off-by: Ruiyi Zhang <Ruiyi.zhang@atheros.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Diffstat (limited to 'net/bluetooth')
-rw-r--r-- | net/bluetooth/l2cap_core.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c index ca27f3a41536..2c8dd4494c63 100644 --- a/net/bluetooth/l2cap_core.c +++ b/net/bluetooth/l2cap_core.c @@ -1051,6 +1051,7 @@ static void l2cap_retransmit_one_frame(struct sock *sk, u8 tx_seq) tx_skb = skb_clone(skb, GFP_ATOMIC); bt_cb(skb)->retries++; control = get_unaligned_le16(tx_skb->data + L2CAP_HDR_SIZE); + control &= L2CAP_CTRL_SAR; if (pi->conn_state & L2CAP_CONN_SEND_FBIT) { control |= L2CAP_CTRL_FINAL; |