Bluetooth: Allow unsegmented SDU retries on sock_queue_rcv_skb failure
In L2CAP_SDU_UNSEGMENTED case, if sock_queue_rcv_skb returns error, l2cap_ertm_reassembly_sdu should not return 0 so as to insert the skb into BUSY_QUEUE for later retries. Signed-off-by: Ruiyi Zhang <Ruiyi.Zhang@Atheros.com> Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
This commit is contained in:
parent
931749bf78
commit
224f8af0db
|
@ -2928,11 +2928,7 @@ static int l2cap_ertm_reassembly_sdu(struct l2cap_chan *chan, struct sk_buff *sk
|
||||||
if (chan->conn_state & L2CAP_CONN_SAR_SDU)
|
if (chan->conn_state & L2CAP_CONN_SAR_SDU)
|
||||||
goto drop;
|
goto drop;
|
||||||
|
|
||||||
err = sock_queue_rcv_skb(chan->sk, skb);
|
return sock_queue_rcv_skb(chan->sk, skb);
|
||||||
if (!err)
|
|
||||||
return err;
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case L2CAP_SDU_START:
|
case L2CAP_SDU_START:
|
||||||
if (chan->conn_state & L2CAP_CONN_SAR_SDU)
|
if (chan->conn_state & L2CAP_CONN_SAR_SDU)
|
||||||
|
|
Loading…
Reference in New Issue