Skip to contentSkip to conversation

Patch "drm: rcar-du: Fix crash in encoder failure error path" has been added to the 4.9-stable tree

PATCH [email protected] 1 participant 1 message Aug 27, 2017

Subsystems (4)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

drm: rcar-du: Fix crash in encoder failure error path

to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
drm-rcar-du-fix-crash-in-encoder-failure-error-path.patch
and it can be found in the queue-4.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 05ee29e94acf0d4b3998c3f93374952de8f90176 Mon Sep 17 00:00:00 2001

From: Laurent Pinchart <[email protected]>
Date: Mon, 3 Oct 2016 20:03:22 +0300
Subject: drm: rcar-du: Fix crash in encoder failure error path

From: Laurent Pinchart <[email protected]>

commit 05ee29e94acf0d4b3998c3f93374952de8f90176 upstream.

When an encoder fails to initialize the driver prints an error message to the kernel log. The message contains the name of the encoder's DT node, which is NULL for internal encoders. Use the of_node_full_name() macro to avoid dereferencing a NULL pointer, print the output number to add more context to the error, and make sure we still own a reference to the encoder's DT node by delaying the of_node_put() call.

---
 drivers/gpu/drm/rcar-du/rcar_du_kms.c |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
drivers/gpu/drm/rcar-du/rcar_du_kms.c +5 -5
@@ -453,13 +453,13 @@ static int rcar_du_encoders_init_one(str
 	}
 
 	ret = rcar_du_encoder_init(rcdu, enc_type, output, encoder, connector);
-	of_node_put(encoder);
-	of_node_put(connector);
-
 	if (ret && ret != -EPROBE_DEFER)
 		dev_warn(rcdu->dev,
-			 "failed to initialize encoder %s (%d), skipping\n",
-			 encoder->full_name, ret);
+			 "failed to initialize encoder %s on output %u (%d), skipping\n",
+			 of_node_full_name(encoder), output, ret);
+
+	of_node_put(encoder);
+	of_node_put(connector);
 
 	return ret;
 }

Patches currently in stable-queue which might be from [email protected] are

queue-4.9/drm-rcar-du-fix-crash-in-encoder-failure-error-path.patch queue-4.9/drm-rcar-du-fix-h-v-sync-signal-polarity-configuration.patch queue-4.9/drm-rcar-du-fix-display-timing-controller-parameter.patch