From be2b402b0c084341970b6c6f272c8e33d7a86383 Mon Sep 17 00:00:00 2001 From: Oliver Hartkopp Date: Tue, 27 May 2014 13:30:56 +0200 Subject: [PATCH] can: only rename enabled led triggers when changing the netdev name Commit 6a88078e4d1a ("can: rename LED trigger name on netdev renames") renames the led trigger names according to the changed netdevice name. As not every CAN driver supports and initializes the led triggers, checking for the CAN private datastructure with safe_candev_priv() in the notifier chain is not enough. This patch adds a check when CONFIG_CAN_LEDS is enabled and the driver does not support led triggers. For stable 3.9+ Cc: Fabio Baltieri Signed-off-by: Oliver Hartkopp Acked-by: Kurt Van Dijck Cc: linux-stable Signed-off-by: Marc Kleine-Budde --- drivers/net/can/led.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/can/led.c b/drivers/net/can/led.c index a3d99a8fd2d19..ab7f1b01be499 100644 --- a/drivers/net/can/led.c +++ b/drivers/net/can/led.c @@ -97,6 +97,9 @@ static int can_led_notifier(struct notifier_block *nb, unsigned long msg, if (!priv) return NOTIFY_DONE; + if (!priv->tx_led_trig || !priv->rx_led_trig) + return NOTIFY_DONE; + if (msg == NETDEV_CHANGENAME) { snprintf(name, sizeof(name), "%s-tx", netdev->name); led_trigger_rename_static(name, priv->tx_led_trig); -- 2.39.5