* [PATCH BlueZ] csr_bcsp: fix link establishment
@ 2012-04-27 13:03 Johan Hovold
2012-05-10 23:42 ` Johan Hedberg
0 siblings, 1 reply; 2+ messages in thread
From: Johan Hovold @ 2012-04-27 13:03 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Marcel Holtmann, Johan Hovold
The current link-establishment implementation times out if a packet is
not received after the link is active (i.e. reception of CONF_RESP).
Fix by making sure that the link establishment loop in open is
terminated when ubcsp sets the UBCSP_PACKET_SENT flag (on reception of
CONF_RESP) rather than UBCSP_PACKET_RECEIVED (on reception of any later
packages).
---
Hi,
This patch is required in order to be able to use devices with link managers
that do not send any packets after the link has been established (i.e. after
sending CONF_RESP).
I have two devices here; one which sends an HCI_EVENT_PKT after link
establishment and one which doesn't. Both work with hciattach, but bccmd times
out during link establishment with the latter one. Both work with bccmd with
the patch applied.
It appears to me that this is a bug which has perhaps simply not been
discovered as most devices do send something after LE. The ubcsp
implementation, however, clearly sets the UBCSP_PACKET_SENT flag when reaching
the link-active state and not the received flag which csr_open_bcsp checks for.
Thanks,
Johan
tools/csr_bcsp.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/tools/csr_bcsp.c b/tools/csr_bcsp.c
index 7bfaf5a..f7afe53 100644
--- a/tools/csr_bcsp.c
+++ b/tools/csr_bcsp.c
@@ -118,7 +118,7 @@ int csr_open_bcsp(char *device, speed_t bcsp_rate)
while (1) {
delay = ubcsp_poll(&activity);
- if (activity & UBCSP_PACKET_RECEIVED)
+ if (activity & UBCSP_PACKET_SENT)
break;
if (delay) {
--
1.7.8.5
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH BlueZ] csr_bcsp: fix link establishment
2012-04-27 13:03 [PATCH BlueZ] csr_bcsp: fix link establishment Johan Hovold
@ 2012-05-10 23:42 ` Johan Hedberg
0 siblings, 0 replies; 2+ messages in thread
From: Johan Hedberg @ 2012-05-10 23:42 UTC (permalink / raw)
To: Johan Hovold; +Cc: linux-bluetooth, Marcel Holtmann
Hi Johan,
On Fri, Apr 27, 2012, Johan Hovold wrote:
> The current link-establishment implementation times out if a packet is
> not received after the link is active (i.e. reception of CONF_RESP).
>
> Fix by making sure that the link establishment loop in open is
> terminated when ubcsp sets the UBCSP_PACKET_SENT flag (on reception of
> CONF_RESP) rather than UBCSP_PACKET_RECEIVED (on reception of any later
> packages).
>
> ---
>
> Hi,
>
> This patch is required in order to be able to use devices with link managers
> that do not send any packets after the link has been established (i.e. after
> sending CONF_RESP).
>
> I have two devices here; one which sends an HCI_EVENT_PKT after link
> establishment and one which doesn't. Both work with hciattach, but bccmd times
> out during link establishment with the latter one. Both work with bccmd with
> the patch applied.
>
> It appears to me that this is a bug which has perhaps simply not been
> discovered as most devices do send something after LE. The ubcsp
> implementation, however, clearly sets the UBCSP_PACKET_SENT flag when reaching
> the link-active state and not the received flag which csr_open_bcsp checks for.
>
> Thanks,
> Johan
>
> tools/csr_bcsp.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
Applied. Thanks.
Johan
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-05-10 23:42 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-27 13:03 [PATCH BlueZ] csr_bcsp: fix link establishment Johan Hovold
2012-05-10 23:42 ` Johan Hedberg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).