Bluetooth: L2CAP: Don't return -EAGAIN if out of credits
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Mon, 3 Apr 2017 14:48:57 +0000 (17:48 +0300)
committerMarcel Holtmann <marcel@holtmann.org>
Wed, 12 Apr 2017 20:02:40 +0000 (22:02 +0200)
Just keep queueing them into TX queue since the caller might just have
to do the same and there is no impact in adding another packet to the
TX queue even if there aren't any credits to transmit them.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Acked-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/l2cap_core.c

index fc7f321..3a202b0 100644 (file)
@@ -2458,9 +2458,6 @@ int l2cap_chan_send(struct l2cap_chan *chan, struct msghdr *msg, size_t len)
                if (len > chan->omtu)
                        return -EMSGSIZE;
 
-               if (!chan->tx_credits)
-                       return -EAGAIN;
-
                __skb_queue_head_init(&seg_queue);
 
                err = l2cap_segment_le_sdu(chan, &seg_queue, msg, len);