diff options
author | Ruiyi Zhang <Ruiyi.Zhang@Atheros.com> | 2011-05-13 13:07:52 +0800 |
---|---|---|
committer | Gustavo F. Padovan <padovan@profusion.mobi> | 2011-06-08 16:58:15 -0300 |
commit | 224f8af0db1cd50e9d954ca9d5a7d7716f63d2b0 (patch) | |
tree | ac6e7cf87826254809402bec1e97c8e695c826f6 /net | |
parent | 931749bf78b969c54de9bbc67cf29b13a40bb73b (diff) | |
download | linux-stable-224f8af0db1cd50e9d954ca9d5a7d7716f63d2b0.tar.gz linux-stable-224f8af0db1cd50e9d954ca9d5a7d7716f63d2b0.tar.bz2 linux-stable-224f8af0db1cd50e9d954ca9d5a7d7716f63d2b0.zip |
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>
Diffstat (limited to 'net')
-rw-r--r-- | net/bluetooth/l2cap_core.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c index e64a1c2df238..6b59005fba95 100644 --- a/net/bluetooth/l2cap_core.c +++ b/net/bluetooth/l2cap_core.c @@ -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) goto drop; - err = sock_queue_rcv_skb(chan->sk, skb); - if (!err) - return err; - - break; + return sock_queue_rcv_skb(chan->sk, skb); case L2CAP_SDU_START: if (chan->conn_state & L2CAP_CONN_SAR_SDU) |