exynos-drm registration: infinite loop

Thierry Reding thierry.reding at gmail.com
Wed Nov 5 06:38:14 PST 2014


On Tue, Nov 04, 2014 at 09:18:46PM +0400, Matwey V. Kornilov wrote:
> Hi,
> 
> I run 3.18-rc3 kernel on BeagleBone Black. It doesn't have Exynos DRM
> of course, but I run multi-platform kernel where CONFIG_DRM_EXYNOS is
> set to 'y'.
> The issue here is that the platform probe/init goes to infinite loop
> as the following:
> 
> [    5.717343] platform exynos-drm: Driver exynos-drm requests probe deferral
> [    5.726848] exynos-drm-ipp exynos-drm-ipp: drm ipp registered successfully.
> [    5.734700] platform exynos-drm: Driver exynos-drm requests probe deferral
> [    5.744044] exynos-drm-ipp exynos-drm-ipp: drm ipp registered successfully.
> [    5.752010] platform exynos-drm: Driver exynos-drm requests probe deferral
> [    5.761377] exynos-drm-ipp exynos-drm-ipp: drm ipp registered successfully.
> [    5.769291] platform exynos-drm: Driver exynos-drm requests probe deferral
> 
> It is quite unexpectable behavior. I would expect that the exynos-drm
> failed to initialize with 'no device' error.
> 
> See also for the reference: https://bugzilla.kernel.org/show_bug.cgi?id=87691

The reason for this seems to be that Exynos DRM instantiates a dummy
device that it can bind to (see exynos_drm_init()). Now this code is
executed unconditonally, so the device will be created whether or not
the kernel/module runs on an Exynos SoC. The driver should really bind
to some real device rather than instantiating a dummy. Or if it must
bind to a dummy then the code needs to at least check that it's running
on an Exynos SoC before instantiating the dummy.

Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20141105/dfa3a341/attachment.sig>


More information about the dri-devel mailing list