Re: [PATCH] Bluetooth: Drop frames without F-bit set when in WAIT_F state

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

 



Hi Szymon,

* Szymon Janc <szymon.janc@xxxxxxxxx> [2012-02-14 14:56:36 +0100]:

> When transmitter is in WAIT_F state any frames received without F-bit=1
> should not be processed (With-Valid-F-bit condition is not true).
> 
> This was affecting TP/ERM/BI-05-C PTS test.
> 
> Signed-off-by: Szymon Janc <szymon.janc@xxxxxxxxx>
> ---
>  net/bluetooth/l2cap_core.c |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)
> 
> diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
> index 8efac78..1a724c6 100644
> --- a/net/bluetooth/l2cap_core.c
> +++ b/net/bluetooth/l2cap_core.c
> @@ -4190,6 +4190,11 @@ static int l2cap_ertm_data_rcv(struct l2cap_chan *chan, struct sk_buff *skb)
>  		goto drop;
>  	}
>  
> +	/* drop frame without F-bit set when in WAIT_F state */
> +	if (test_bit(CONN_WAIT_F, &chan->conn_state) &&
> +			!__is_ctrl_final(chan, control))
> +		goto drop;
> +

I think this is wrong, you are completely dropping frames here while you
should at least process the reqseq received. Check the spec, the WAIT_F table.
Another point is that the WAIT_F state belongs belongs to the transmit side,
and you are checking for it in the receive side. This also seems wrong to me.

Also I never find problem to pass this test in PTS with the following l2test
line:

l2test -P 17 -X 3 -b 48 -w -D 1 -N 2

Please tell the problem you have in PTS so we can try to find a better
solution for this.

	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