2011/1/31 Ville Tervo <ville.tervo@xxxxxxxxx>: > Hi, > > On Sat, Jan 29, 2011 at 09:39:37PM +0800, ext Liang Bao wrote: >> From: Bao Liang <tim.bao@xxxxxxxxx> >> >> This patch fixes a minor issue that two connection responses will be sent >> for one L2CAP connection request. If the L2CAP connection request is first >> blocked due to security reason and responded with reason "security block", >> the state of the connection remains BT_CONNECT2. If a pairing procedure >> completes successfully before the ACL connection is down, local host will >> send another connection complete response. See the following packets >> captured by hcidump. >> >> 2010-12-07 22:21:24.928096 < ACL data: handle 12 flags 0x00 dlen 16 >> 0000: 0c 00 01 00 03 19 08 00 41 00 53 00 03 00 00 00 ........A.S..... >> ... ... >> >> 2010-12-07 22:21:35.791747 > HCI Event: Auth Complete (0x06) plen 3 >> status 0x00 handle 12 >> ... ... >> >> 2010-12-07 22:21:35.872372 > ACL data: handle 12 flags 0x02 dlen 16 >> L2CAP(s): Connect rsp: dcid 0x0054 scid 0x0040 result 0 status 0 >> Connection successful >> >> Signed-off-by: Liang Bao <tim.bao@xxxxxxxxx> > > Now it looks good to me. > > Acked-by: Ville Tervo <ville.tervo@xxxxxxxxx> > Thanks, so ready for push? ;) >> --- >> net/bluetooth/l2cap.c | 1 + >> 1 files changed, 1 insertions(+), 0 deletions(-) >> >> diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c >> index fadf26b..364197d 100644 >> --- a/net/bluetooth/l2cap.c >> +++ b/net/bluetooth/l2cap.c >> @@ -848,6 +848,7 @@ static void __l2cap_sock_close(struct sock *sk, int reason) >> result = L2CAP_CR_SEC_BLOCK; >> else >> result = L2CAP_CR_BAD_PSM; >> + sk->sk_state = BT_DISCONN; >> >> rsp.scid = cpu_to_le16(l2cap_pi(sk)->dcid); >> rsp.dcid = cpu_to_le16(l2cap_pi(sk)->scid); >> -- >> 1.7.1 >> > > -- > Ville > -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html