From e7f326299ce7e706d9f27806f3a9b765b897eaaf Mon Sep 17 00:00:00 2001 From: Szymon Janc Date: Wed, 11 Jan 2012 10:59:46 +0100 Subject: [PATCH] --- yaml --- r: 290873 b: refs/heads/master c: 0ef3ef0f676e3c7aaab4a936635f503770fd38b2 h: refs/heads/master i: 290871: 22694feb8bd2d5a8680683a0e8ccd6bdbb7b2248 v: v3 --- [refs] | 2 +- trunk/net/bluetooth/l2cap_core.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index c0d5096f7775..6fce7a5d10af 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 75b93b59ad625d734b1c7d7e05bf6b9898c8c28f +refs/heads/master: 0ef3ef0f676e3c7aaab4a936635f503770fd38b2 diff --git a/trunk/net/bluetooth/l2cap_core.c b/trunk/net/bluetooth/l2cap_core.c index dcccae04ae08..0d5bb45e7be7 100644 --- a/trunk/net/bluetooth/l2cap_core.c +++ b/trunk/net/bluetooth/l2cap_core.c @@ -3927,15 +3927,15 @@ static inline int l2cap_data_channel_iframe(struct l2cap_chan *chan, u32 rx_cont __skb_queue_head_init(&chan->srej_q); l2cap_add_to_srej_queue(chan, skb, tx_seq, sar); - set_bit(CONN_SEND_PBIT, &chan->conn_state); + /* Set P-bit only if there are some I-frames to ack. */ + if (__clear_ack_timer(chan)) + set_bit(CONN_SEND_PBIT, &chan->conn_state); err = l2cap_send_srejframe(chan, tx_seq); if (err < 0) { l2cap_send_disconn_req(chan->conn, chan, -err); return err; } - - __clear_ack_timer(chan); } return 0;