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 fc7f321a382369f0d5097ce785921b1298a237f0..3a202b09d4acd212b2d2663baef31f863dabca10 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);