From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcel Holtmann Subject: [PATCH 47/64] Bluetooth: Check if we really are in WAIT_F when F bit comes Date: Mon, 10 May 2010 11:37:37 +0200 Message-ID: <9b16dc6551cbde65d0ac525af3c46efab53a2c46.1273484098.git.marcel@holtmann.org> References: <4f7ac1814ef6f0773e57ffd159a1dd57a3c80521.1273484095.git.marcel@holtmann.org> <0d861d8b8edd139a9b291cb262d08dec8dc3922d.1273484095.git.marcel@holtmann.org> <7dffe4210233a2860c3f41477c40b3252edf2b7d.1273484095.git.marcel@holtmann.org> <1d8f5d16913d74e428950ee02fe9ff7e6391c120.1273484096.git.marcel@holtmann.org> <277ffbe362823d18a17792fbd8e507010e666299.1273484096.git.marcel@holtmann.org> <36f2fd585f43199f006a3b5ff84e95815102cd31.1273484096.git.marcel@holtmann.org> <9e917af13d59182f95bbb5483dc0c4254dfb7944.1273484096.git.marcel@holtmann.org> <73edaa9933219e25d6733b78d1e2c881025705e2.1273484096.git.marcel@holtmann.org> <99b0d4b7b09edeacf4542bced5c01239375b51a9.1273484096.git.marcel@holtmann.org> <6e3a59819fac19006fe4255b87928e5a12c54532.1273484096.git.marcel@holtmann.org> <8abb52ee00c4b3f857269eb6b7145991bab869bf.1273484096.git.marcel@holtmann.org> <05fbd89dd4153341717b33d9e8ae8bd29db6c1c8.1273484096.git.marcel@holtmann.org> <2fb862e215e53630066c677e06d7551fa38bf235.1273484097.git.marcel@holtmann.org> <7b1c0049be3aabc18831ada339dbcf41ba8c81fd.1273484097.git.marcel@holtmann.org> <1c7621596d11b9c3e19eb88a818758dee4901c95.1273484097.git.marcel@holtmann.org> <10467e9e9b89272b25b56688bb276d0830e9ab9a.1273484097.git.marcel@holtmann.org> <052897ca5019d9157ae09e5e84eee2a9ef5dccc6.1273484097.git.marcel@holtmann.org> <855666cccc939d392316de17512e17a08b2fa05a.1273484097.git.marcel@holtmann.org> <14b5aa71ec506f4e38ca6a1dc02ecd668ecfd902.1273484097.git.marcel@holtmann.org> <803020c6fa63aa738cfda3329c9675b42023e9d2.1273484097.git.marcel@holtmann.org> <369ba30264826f38eefc61b93688100be8adbd4d.1273484097.git.marcel@holtmann.org> <68d7f0ce911e41e463c45911be031cdf6a096fe8.1273484097.git.marcel@holtmann.org> <0ee0d20855ae9271de3f6695f4cafc08ab2533bb.1273484097.git.marcel@holtmann.org> <812e737e29a1d559e7bfbea675fdcfcbad9f5e1f.1273484097.git.marcel@holtmann.org> <3b1a9f3fa6ad842991538da2c3b2e29e047b131f.1273484097.git.marcel@holtmann.org> <84fb0a6334af0ccad3544f6972c055d90fbb9fbe.1273484097.git.marcel@holtmann.org> <0041ecfa3025d7612fdaab12b2f07c9c3c09f42f.1273484098.git.marcel@holtmann.org> <01760bdde9a92413b7fff928d08e19352bf09d82.1273484098.git.marcel@holtmann.org> <44651b85cc3a076147af5d181fc4833ef8debc59.1273484098.git.marcel@holtmann.org> <59203a21a56c53afeb6f45e059299e6f1437f30f.1273484098.git.marcel@holtmann.org> <0301ef04b5f49a95681694fc0d75af9441faa919.1273484098.git.marcel@holtmann.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: netdev@vger.kernel.org To: David Miller Return-path: Received: from senator.holtmann.net ([87.106.208.187]:53458 "EHLO mail.holtmann.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755905Ab0EJJjI (ORCPT ); Mon, 10 May 2010 05:39:08 -0400 In-Reply-To: In-Reply-To: References: Sender: netdev-owner@vger.kernel.org List-ID: =46rom: Gustavo F. Padovan =46-bit set should be processed only if we are in the WAIT_F state. Signed-off-by: Gustavo F. Padovan Reviewed-by: Jo=C3=A3o Paulo Rechi Vita Signed-off-by: Marcel Holtmann --- net/bluetooth/l2cap.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c index 5a5203f..eb5cb29 100644 --- a/net/bluetooth/l2cap.c +++ b/net/bluetooth/l2cap.c @@ -3503,7 +3503,8 @@ static inline int l2cap_data_channel_iframe(struc= t sock *sk, u16 rx_control, str =20 BT_DBG("sk %p rx_control 0x%4.4x len %d", sk, rx_control, skb->len); =20 - if (L2CAP_CTRL_FINAL & rx_control) { + if (L2CAP_CTRL_FINAL & rx_control && + l2cap_pi(sk)->conn_state & L2CAP_CONN_WAIT_F) { del_timer(&pi->monitor_timer); if (pi->unacked_frames > 0) __mod_retrans_timer(); @@ -3727,7 +3728,8 @@ static inline int l2cap_data_channel_sframe(struc= t sock *sk, u16 rx_control, str { BT_DBG("sk %p rx_control 0x%4.4x len %d", sk, rx_control, skb->len); =20 - if (L2CAP_CTRL_FINAL & rx_control) { + if (L2CAP_CTRL_FINAL & rx_control && + l2cap_pi(sk)->conn_state & L2CAP_CONN_WAIT_F) { del_timer(&l2cap_pi(sk)->monitor_timer); if (l2cap_pi(sk)->unacked_frames > 0) __mod_retrans_timer(); --=20 1.6.6.1