Re: [PATCH] bluetooth-next: Fixes l2cap incomming connection establishment when defer_setup is enabled.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Ilia,

* ilia.kolominsky@xxxxxxxxx <ilia.kolominsky@xxxxxxxxx> [2011-06-30 06:40:58 +0300]:

> From: Ilia Kolomisnky <iliak@xxxxxx>
> 
> 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: Ilia Kolomisnky <iliak@xxxxxx>
> ---
>  net/bluetooth/l2cap_core.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
> index 9ec9c8c..0d9699b 100644
> --- a/net/bluetooth/l2cap_core.c
> +++ b/net/bluetooth/l2cap_core.c
> @@ -2530,7 +2530,7 @@ static inline int l2cap_config_req(struct l2cap_conn *conn, struct l2cap_cmd_hdr
>  
>  	sk = chan->sk;
>  
> -	if (chan->state != BT_CONFIG) {
> +	if ((!bt_sk(sk)->defer_setup) && (chan->state != BT_CONFIG)) {

This will cause L2CAP fail to drop any connection request for any chan->state
when defer_setup is enabled. I think you want:

	if ((!bt_sk(sk)->defer_setup && chan->state != BT_CONNECT2)
			|| chan->state != BT_CONFIG) {

	Gustavo
--
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


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux