summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorRuiyi Zhang <Ruiyi.Zhang@Atheros.com>2011-05-13 13:07:52 +0800
committerGustavo F. Padovan <padovan@profusion.mobi>2011-06-08 16:58:15 -0300
commit224f8af0db1cd50e9d954ca9d5a7d7716f63d2b0 (patch)
treeac6e7cf87826254809402bec1e97c8e695c826f6 /net
parent931749bf78b969c54de9bbc67cf29b13a40bb73b (diff)
downloadlinux-224f8af0db1cd50e9d954ca9d5a7d7716f63d2b0.tar.bz2
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.c6
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)