From: Marc Kleine-Budde <mkl@pengutronix.de>
To: linux-can@vger.kernel.org
Cc: kernel@pengutronix.de, Marc Kleine-Budde <mkl@pengutronix.de>
Subject: [PATCH 12/37] can: dev: can_change_state(): print human readable state change messages
Date: Wed, 16 Sep 2020 00:35:02 +0200 [thread overview]
Message-ID: <20200915223527.1417033-13-mkl@pengutronix.de> (raw)
In-Reply-To: <20200915223527.1417033-1-mkl@pengutronix.de>
In order to ease debugging let can_change_state() print the human readable
state change messages. Also print the old and new state.
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
drivers/net/can/dev.c | 26 +++++++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/drivers/net/can/dev.c b/drivers/net/can/dev.c
index 77a5663693af..e0caf969e342 100644
--- a/drivers/net/can/dev.c
+++ b/drivers/net/can/dev.c
@@ -371,6 +371,28 @@ static int can_rx_state_to_frame(struct net_device *dev, enum can_state state)
}
}
+static const char *can_get_state_str(const enum can_state state)
+{
+ switch (state) {
+ case CAN_STATE_ERROR_ACTIVE:
+ return "Error Active";
+ case CAN_STATE_ERROR_WARNING:
+ return "Error Warning";
+ case CAN_STATE_ERROR_PASSIVE:
+ return "Error Passive";
+ case CAN_STATE_BUS_OFF:
+ return "Bus Off";
+ case CAN_STATE_STOPPED:
+ return "Stopped";
+ case CAN_STATE_SLEEPING:
+ return "Sleeping";
+ default:
+ return "<unknown>";
+ }
+
+ return "<unknown>";
+}
+
void can_change_state(struct net_device *dev, struct can_frame *cf,
enum can_state tx_state, enum can_state rx_state)
{
@@ -382,7 +404,9 @@ void can_change_state(struct net_device *dev, struct can_frame *cf,
return;
}
- netdev_dbg(dev, "New error state: %d\n", new_state);
+ netdev_dbg(dev, "Controller changed from %s State (%d) into %s State (%d).\n",
+ can_get_state_str(priv->state), priv->state,
+ can_get_state_str(new_state), new_state);
can_update_state_error_stats(dev, new_state);
priv->state = new_state;
--
2.28.0
next prev parent reply other threads:[~2020-09-15 22:36 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-15 22:34 [RFC]: can-next 2020-09-16 Marc Kleine-Budde
2020-09-15 22:34 ` [PATCH 01/37] can: grcan: fix spelling mistake "buss" -> "bus" Marc Kleine-Budde
2020-09-15 22:34 ` [PATCH 02/37] can: flexcan: fix spelling mistake "reserverd" -> "reserved" Marc Kleine-Budde
2020-09-15 22:34 ` [PATCH 03/37] can: include: fix spelling mistakes Marc Kleine-Budde
2020-09-15 22:34 ` [PATCH 04/37] can: net: " Marc Kleine-Budde
2020-09-15 22:34 ` [PATCH 05/37] can: drivers: " Marc Kleine-Budde
2020-09-15 22:34 ` [PATCH 06/37] can: raw: fix indention Marc Kleine-Budde
2020-09-15 22:34 ` [PATCH 07/37] can: slcan: update dead link Marc Kleine-Budde
2020-09-15 22:34 ` [PATCH 08/37] can: softing: " Marc Kleine-Budde
2020-09-15 22:34 ` [PATCH 09/37] can: remove "WITH Linux-syscall-note" from SPDX tag of C files Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 10/37] can: dev: can_put_echo_skb(): print number of echo_skb that is occupied Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 11/37] can: dev: can_put_echo_skb(): propagate error in case of errors Marc Kleine-Budde
2020-09-15 22:35 ` Marc Kleine-Budde [this message]
2020-09-15 22:35 ` [PATCH 13/37] can: dev: can_bus_off(): print scheduling of restart if activated Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 14/37] can: c_can: Remove unused inline function Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 15/37] can: mcba_usb: remove redundant initialization of variable err Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 16/37] can: mscan: mark expected switch fall-through Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 17/37] can: ti_hecc: convert to devm_platform_ioremap_resource_byname() Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 18/37] can: peak_usb: convert to use le32_add_cpu() Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 19/37] can: peak_canfd: Remove unused macros Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 20/37] can: pch_can: use generic power management Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 21/37] can: pcan_usb: Document the commands sent to the device Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 22/37] can: pcan_usb: add support of rxerr/txerr counters Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 23/37] can: spi: Kconfig: remove unneeded dependencies form Kconfig symbols Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 24/37] dt-bindings: can: mcp251x: change example interrupt type to IRQ_TYPE_LEVEL_LOW Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 25/37] dt-bindings: can: mcp251x: document GPIO support Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 26/37] can: mcp251x: sort include files alphabetically Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 27/37] can: mcp251x: add GPIO support Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 28/37] can: mcp251x: Use readx_poll_timeout() helper Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 29/37] can: mcp251x: add support for half duplex controllers Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 30/37] can: mscan: mpc5xxx_can: update contact email Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 31/37] can: mscan: simplify clock enable/disable Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 32/37] can: rx-offload: can_rx_offload_add_manual(): add new initialization function Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 33/37] dt-binding: can: mcp25xxfd: document device tree bindings Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 34/37] can: mcp25xxfd: add regmap infrastructure Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 35/37] can: mcp25xxfd: add driver for Microchip MCP25xxFD SPI CAN Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 36/37] can: mcp25xxfd: add listen-only mode Marc Kleine-Budde
2020-09-15 22:35 ` [PATCH 37/37] MAINTAINERS: Add entry for Microchip MCP25XXFD SPI-CAN network driver Marc Kleine-Budde
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200915223527.1417033-13-mkl@pengutronix.de \
--to=mkl@pengutronix.de \
--cc=kernel@pengutronix.de \
--cc=linux-can@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).