]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
can: dev: can_restart(): move debug message and stats after successful restart
authorMarc Kleine-Budde <mkl@pengutronix.de>
Fri, 29 Sep 2023 08:18:02 +0000 (10:18 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 1 Aug 2025 08:47:29 +0000 (09:47 +0100)
[ Upstream commit f0e0c809c0be05fe865b9ac128ef3ee35c276021 ]

Move the debug message "restarted" and the CAN restart stats_after_
the successful restart of the CAN device, because the restart may
fail.

While there update the error message from printing the error number to
printing symbolic error names.

Link: https://lore.kernel.org/all/20231005-can-dev-fix-can-restart-v2-4-91b5c1fd922c@pengutronix.de
Reviewed-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
[mkl: mention stats in subject and description, too]
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Stable-dep-of: c1f3f9797c1f ("can: netlink: can_changelink(): fix NULL pointer deref of struct can_priv::do_set_mode")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/can/dev/dev.c

index 6c1ceb8ce6c4bef4643a7d202462d166e3af9690..88f345966c99148e91b8d26cba2c1127148a0763 100644 (file)
@@ -147,15 +147,15 @@ static void can_restart(struct net_device *dev)
                netif_rx(skb);
        }
 
-       netdev_dbg(dev, "restarted\n");
-       priv->can_stats.restarts++;
-
        /* Now restart the device */
        netif_carrier_on(dev);
        err = priv->do_set_mode(dev, CAN_MODE_START);
        if (err) {
-               netdev_err(dev, "Error %d during restart", err);
+               netdev_err(dev, "Restart failed, error %pe\n", ERR_PTR(err));
                netif_carrier_off(dev);
+       } else {
+               netdev_dbg(dev, "Restarted\n");
+               priv->can_stats.restarts++;
        }
 }