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