All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mat Martineau <mathewm@codeaurora.org>
To: linux-bluetooth@vger.kernel.org, gustavo@padovan.org,
	marcel@holtmann.org
Cc: pkrystad@codeaurora.org
Subject: Re: [PATCH] Bluetooth: Send a configuration request after security confirmation
Date: Tue, 22 May 2012 13:50:27 -0700 (PDT)	[thread overview]
Message-ID: <alpine.DEB.2.02.1205221348570.2239@mathewm-linux> (raw)
In-Reply-To: <1337719690-986-1-git-send-email-mathewm@codeaurora.org>


Gustavo & Marcel -

On Tue, 22 May 2012, Mat Martineau wrote:

> Sometimes an ACL link must be raised to a higher security level after
> an L2CAP connection is requested, but before a connection response is
> sent.  In this case, a connection response sent by L2CAP was not
> immediately followed by a configuration request.  Other code paths do
> send this configuration request right away.  It was possible for the
> connection to time out while L2CAP waited for the remote device (like
> PTS) to trigger the configuration process.
>
> This change immediately sends a configuration request after a connect
> response rather than waiting for a configuration request from the
> remote device.  It fixes connection stalls in a variety of PTS test
> cases.
>
> Signed-off-by: Mat Martineau <mathewm@codeaurora.org>
> ---
> net/bluetooth/l2cap_core.c |   11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
> index b644f40..f6c3b0c 100644
> --- a/net/bluetooth/l2cap_core.c
> +++ b/net/bluetooth/l2cap_core.c
> @@ -5519,6 +5519,17 @@ int l2cap_security_cfm(struct hci_conn *hcon, u8 status, u8 encrypt)
> 			rsp.status = cpu_to_le16(stat);
> 			l2cap_send_cmd(conn, chan->ident, L2CAP_CONN_RSP,
> 							sizeof(rsp), &rsp);
> +
> +			if (!test_bit(L2CAP_CONF_REQ_SENT, &chan->conf_state) &&

Sorry, L2CAP_CONF_REQ_SENT has been renamed.  I'll sent a v2 patch 
shortly.

> +			    result == L2CAP_CR_SUCCESS) {
> +				char buf[128];
> +				set_bit(L2CAP_CONF_REQ_SENT, &chan->conf_state);
> +				l2cap_send_cmd(conn, l2cap_get_ident(conn),
> +					       L2CAP_CONF_REQ,
> +					       l2cap_build_conf_req(chan, buf),
> +					       buf);
> +				chan->num_conf_req++;
> +			}
> 		}
>
> 		l2cap_chan_unlock(chan);
> -- 
> 1.7.10



--
Mat Martineau
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum

      reply	other threads:[~2012-05-22 20:50 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-22 20:48 [PATCH] Bluetooth: Send a configuration request after security confirmation Mat Martineau
2012-05-22 20:50 ` Mat Martineau [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.DEB.2.02.1205221348570.2239@mathewm-linux \
    --to=mathewm@codeaurora.org \
    --cc=gustavo@padovan.org \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=marcel@holtmann.org \
    --cc=pkrystad@codeaurora.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.