aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustavo F. Padovan <padovan@profusion.mobi>2011-07-15 18:30:20 +0000
committerJaikumar Ganesh <jaikumar@google.com>2011-07-18 12:28:03 -0700
commit8ee057f096a2fe0b45b7b5ebb0279556d896f018 (patch)
tree5044d7ebd3f61c50e69de21cad2be73ba1a31e96
parent1be668d732e91d7a83529b0e2946c0343c1df6be (diff)
downloadkernel_samsung_aries-8ee057f096a2fe0b45b7b5ebb0279556d896f018.zip
kernel_samsung_aries-8ee057f096a2fe0b45b7b5ebb0279556d896f018.tar.gz
kernel_samsung_aries-8ee057f096a2fe0b45b7b5ebb0279556d896f018.tar.bz2
Bluetooth: Fix regression in L2CAP connection procedure
Caused by the following commit, partially revert it. commit 9fa7e4f76f3658ba1f44fbdb95c77e7df3f53f95 Author: Gustavo F. Padovan <padovan@profusion.mobi> Date: Thu Jun 30 16:11:30 2011 -0300 Bluetooth: Fix regression with incoming L2CAP connections PTS test A2DP/SRC/SRC_SET/TC_SRC_SET_BV_02_I revealed that ( probably after the df3c3931e commit ) the l2cap connection could not be established in case when the "Auth Complete" HCI event does not arive before the initiator send "Configuration request", in which case l2cap replies with "Command rejected" since the channel is still in BT_CONNECT2 state. Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/bluetooth/l2cap_core.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
index 6c1cec6..b5c9b67 100644
--- a/net/bluetooth/l2cap_core.c
+++ b/net/bluetooth/l2cap_core.c
@@ -2524,8 +2524,7 @@ static inline int l2cap_config_req(struct l2cap_conn *conn, struct l2cap_cmd_hdr
sk = chan->sk;
- if ((bt_sk(sk)->defer_setup && sk->sk_state != BT_CONNECT2) ||
- (!bt_sk(sk)->defer_setup && sk->sk_state != BT_CONFIG)) {
+ if (sk->sk_state != BT_CONFIG && sk->sk_state != BT_CONNECT2) {
struct l2cap_cmd_rej rej;
rej.reason = cpu_to_le16(0x0002);