can: netlink: can_changelink(): convert from netdev_err() to NL_SET_ERR_MSG_FMT()
authorMarc Kleine-Budde <mkl@pengutronix.de>
Tue, 27 Sep 2022 11:12:35 +0000 (13:12 +0200)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Mon, 6 Feb 2023 12:57:26 +0000 (13:57 +0100)
Since commit 51c352bdbcd2 ("netlink: add support for formatted extack
messages") formatted extack messages are supported to inform the user
space or warnings/errors during netlink calls.

Replace the netdev_err() by NL_SET_ERR_MSG_FMT() to better inform the
user about the problem. While there, use %u to print unsigned values
and improve error message a bit.

Link: https://lore.kernel.org/all/20230202110854.2318594-9-mkl@pengutronix.de
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/dev/netlink.c

index 02f5c00..a03b45a 100644 (file)
@@ -220,8 +220,9 @@ static int can_changelink(struct net_device *dev, struct nlattr *tb[],
                        return err;
 
                if (priv->bitrate_max && bt.bitrate > priv->bitrate_max) {
-                       netdev_err(dev, "arbitration bitrate surpasses transceiver capabilities of %d bps\n",
-                                  priv->bitrate_max);
+                       NL_SET_ERR_MSG_FMT(extack,
+                                          "arbitration bitrate %u bps surpasses transceiver capabilities of %u bps",
+                                          bt.bitrate, priv->bitrate_max);
                        return -EINVAL;
                }
 
@@ -324,8 +325,9 @@ static int can_changelink(struct net_device *dev, struct nlattr *tb[],
                        return err;
 
                if (priv->bitrate_max && dbt.bitrate > priv->bitrate_max) {
-                       netdev_err(dev, "canfd data bitrate surpasses transceiver capabilities of %d bps\n",
-                                  priv->bitrate_max);
+                       NL_SET_ERR_MSG_FMT(extack,
+                                          "CANFD data bitrate %u bps surpasses transceiver capabilities of %u bps",
+                                          dbt.bitrate, priv->bitrate_max);
                        return -EINVAL;
                }