OSDN Git Service

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 2075d8d..5ff11aa 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;