On Mon, Jul 10, 2017 at 08:00:37PM +0200, Daniel Vetter wrote: > On Mon, Jul 10, 2017 at 9:14 AM, Alexandru Moise > <00moses.alexander00@xxxxxxxxx> wrote: > > On Mon, Jul 10, 2017 at 08:52:46AM +0200, Daniel Vetter wrote: > >> On Sat, Jul 08, 2017 at 11:43:52PM +0200, Alexandru Moise wrote: > >> > If the DRM core fails to init for whatever reason, ensure that > >> > no driver ever calls drm_dev_register(). > >> > > >> > This is best done at drm_dev_init() as it covers drivers that call > >> > drm_dev_alloc() as well as drivers that prefer to embed struct > >> > drm_device into their own device struct and call drm_dev_init() > >> > themselves. > >> > > >> > In my case I had so many dynamic device majors used that the major > >> > number for DRM (226) was stolen, causing DRM core init to fail after > >> > failing to register a chrdev, and ultimately calling debugfs_remove() > >> > on drm_debugfs_root in drm_core_exit(). Note, there are patches in my "to-apply" queue to prevent that from happening, that should show up in 4.14-rc1. So that shouldn't be an issue in the future. > I feared that would be the answer :-/ Still feels funny that everyone > will need to hand-roll this, or does everyone simply assume that their > subsystem's module_init never fails? How would we not "hand-roll" this? Every subsystem works a bit differently. But if you can think of a way to make this generic, that would be great... thanks, greg k-h _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel