can: isotp: Add error message if txqueuelen is too small
authorPatrick Menschel <menschel.p@posteo.de>
Tue, 27 Apr 2021 05:21:49 +0000 (05:21 +0000)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Thu, 27 May 2021 07:42:21 +0000 (09:42 +0200)
This patch adds an additional error message in case that txqueuelen is
set too small and advices the user to increase txqueuelen.

This is likely to happen even with small transfers if txqueuelen is at
default value 10 frames.

Link: https://lore.kernel.org/r/20210427052150.2308-4-menschel.p@posteo.de
Signed-off-by: Patrick Menschel <menschel.p@posteo.de>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
net/can/isotp.c

index 2075d8d9e6b60a4359849c8a05717d5393c8124f..5ff11aaf0a794627fcd9be6b235648ee5fd4a6a4 100644 (file)
@@ -797,10 +797,12 @@ isotp_tx_burst:
                can_skb_set_owner(skb, sk);
 
                can_send_ret = can_send(skb, 1);
-               if (can_send_ret)
+               if (can_send_ret) {
                        pr_notice_once("can-isotp: %s: can_send_ret %pe\n",
                                       __func__, ERR_PTR(can_send_ret));
-
+                       if (can_send_ret == -ENOBUFS)
+                               pr_notice_once("can-isotp: tx queue is full, increasing txqueuelen may prevent this error\n");
+               }
                if (so->tx.idx >= so->tx.len) {
                        /* we are done */
                        so->tx.state = ISOTP_IDLE;