another interesting lock recursion!

Dave Airlie airlied at gmail.com
Mon Mar 24 22:53:23 PDT 2014


So with runtime pm on nouveau, if the card gets powered down, and then
you access a connector via sysfs,

drm_sysfs.c:status_show locks the connector and calls into the driver,
the driver then does a runtime_get_sync, which causes resume to happen
which causes modesetting to reset the mode, which tries to take all
the locks, and it all deadlocks in a pile,

Ideas to fix this, move the runtime_get_sync into the drm_sysfs code,
or allow the drivers to provide their own status show functions,
moving the runtime get into the sysfs code probably involves having
conditionals for device that support runtime PM at all, otherwise who
knows what might happen,

Dave.


More information about the dri-devel mailing list