intel_sdvo_init: trying to register non-static key

Imre Deak imre.deak at intel.com
Fri Feb 7 08:47:54 PST 2014


On Fri, 2014-02-07 at 16:49 +0100, Borislav Petkov wrote:
> On Fri, Feb 07, 2014 at 05:32:06PM +0200, Imre Deak wrote:
> > I just realized it's a different issue, since it's on the init path.
> > Also we set the drm device as the parent for the sdvo i2c adapter as
> > opposed to the dp i2c adapter where it's the connector device. So the
> > above patch won't help in Borislav's case.

Ok, not sure why the sdvo initialization fails, but the lockdep warning
is probably fixed by the below patch. Could you try it and send a dmesg
with drm.debug=0xe?

diff --git a/fs/kernfs/dir.c b/fs/kernfs/dir.c
index 5104cf5..bd6e18b 100644
--- a/fs/kernfs/dir.c
+++ b/fs/kernfs/dir.c
@@ -187,19 +187,23 @@ static void kernfs_deactivate(struct kernfs_node
*kn)
 
 	kn->u.completion = (void *)&wait;
 
-	rwsem_acquire(&kn->dep_map, 0, 0, _RET_IP_);
+	if (kn->flags & KERNFS_LOCKDEP)
+		rwsem_acquire(&kn->dep_map, 0, 0, _RET_IP_);
 	/* atomic_add_return() is a mb(), put_active() will always see
 	 * the updated kn->u.completion.
 	 */
 	v = atomic_add_return(KN_DEACTIVATED_BIAS, &kn->active);
 
 	if (v != KN_DEACTIVATED_BIAS) {
-		lock_contended(&kn->dep_map, _RET_IP_);
+		if (kn->flags & KERNFS_LOCKDEP)
+			lock_contended(&kn->dep_map, _RET_IP_);
 		wait_for_completion(&wait);
 	}
 
-	lock_acquired(&kn->dep_map, _RET_IP_);
-	rwsem_release(&kn->dep_map, 1, _RET_IP_);
+	if (kn->flags & KERNFS_LOCKDEP) {
+		lock_acquired(&kn->dep_map, _RET_IP_);
+		rwsem_release(&kn->dep_map, 1, _RET_IP_);
+	}
 }
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20140207/305ff395/attachment.pgp>


More information about the dri-devel mailing list