From: Luiz Augusto von Dentz <[email protected]>
When initiating a connection to a external profile btd_service_connect
will be called which will change the service state to
BTD_SERVICE_STATE_CONNECTING but then once the connection completes
service_accept is called but since it now checks the state it would
return -EALREADY to prevent driver accept to be called more than once.
---
src/service.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/service.c b/src/service.c
index 2ed72fb..7da922c 100644
--- a/src/service.c
+++ b/src/service.c
@@ -191,7 +191,7 @@ int service_accept(struct btd_service *service)
break;
case BTD_SERVICE_STATE_CONNECTING:
case BTD_SERVICE_STATE_CONNECTED:
- return -EALREADY;
+ return 0;
case BTD_SERVICE_STATE_DISCONNECTING:
return -EBUSY;
}
--
2.4.3
Luiz,
On Fri, 2015-10-30 at 15:39 +0200, Luiz Augusto von Dentz wrote:
> From: Luiz Augusto von Dentz <[email protected]>
>
> When initiating a connection to a external profile
> btd_service_connect
> will be called which will change the service state to
> BTD_SERVICE_STATE_CONNECTING but then once the connection completes
> service_accept is called but since it now checks the state it would
> return -EALREADY to prevent driver accept to be called more than
> once.
> ---
> src/service.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/service.c b/src/service.c
> index 2ed72fb..7da922c 100644
> --- a/src/service.c
> +++ b/src/service.c
> @@ -191,7 +191,7 @@ int service_accept(struct btd_service *service)
> break;
> case BTD_SERVICE_STATE_CONNECTING:
> case BTD_SERVICE_STATE_CONNECTED:
> - return -EALREADY;
> + return 0;
> case BTD_SERVICE_STATE_DISCONNECTING:
> return -EBUSY;
> }
This patch solves my hfp headset connect problem.
Thanks,
Steve
Hi,
On Sat, Oct 31, 2015 at 11:52 AM, Steve Brown <[email protected]> wrote:
> Luiz,
>
> On Fri, 2015-10-30 at 15:39 +0200, Luiz Augusto von Dentz wrote:
>> From: Luiz Augusto von Dentz <[email protected]>
>>
>> When initiating a connection to a external profile
>> btd_service_connect
>> will be called which will change the service state to
>> BTD_SERVICE_STATE_CONNECTING but then once the connection completes
>> service_accept is called but since it now checks the state it would
>> return -EALREADY to prevent driver accept to be called more than
>> once.
>> ---
>> src/service.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/src/service.c b/src/service.c
>> index 2ed72fb..7da922c 100644
>> --- a/src/service.c
>> +++ b/src/service.c
>> @@ -191,7 +191,7 @@ int service_accept(struct btd_service *service)
>> break;
>> case BTD_SERVICE_STATE_CONNECTING:
>> case BTD_SERVICE_STATE_CONNECTED:
>> - return -EALREADY;
>> + return 0;
>> case BTD_SERVICE_STATE_DISCONNECTING:
>> return -EBUSY;
>> }
>
> This patch solves my hfp headset connect problem.
>
> Thanks,
>
> Steve
Applied.
--
Luiz Augusto von Dentz