Kernel warning when mode setting with no connectors connected

Russell King - ARM Linux linux at arm.linux.org.uk
Sun Apr 13 09:29:15 PDT 2014


On Sun, Apr 13, 2014 at 10:44:28AM +0200, Daniel Vetter wrote:
> On Sat, Apr 12, 2014 at 11:04:31PM +0100, Russell King - ARM Linux wrote:
> > So we try to set a mode on CRTC 3 using encoder 8 and connector 9.
> > However connector 9 is disconnected, so the connector has its
> > encoder disassociated.  The encoder is now not used, so the encoder
> > is disabled.  This then means that the CRTC is not being used by
> > any encoder, so the CRTC gets disabled.
> 
> That's a bit strange since userspace normally shouldn't attempt to set a
> mode when nothing is connected, at least if you don't force a specific
> configuration. In any case it sounds like you want
> 
> commit e3d6ddb35f6221859b6054879d186e13a3af351e
> Author: Daniel Vetter <daniel.vetter at ffwll.ch>
> Date:   Tue Apr 1 22:15:00 2014 +0200
> 
>     drm/crtc-helper: don't disable disconnected outputs
> 
> I wonder whether we should put a cc: stable onto that one (maybe after a
> bit more testing) since apparently userspace can force the kernel to do
> stupid things if we auto-disable disconnected outputs.

BTW... that commit looks like this:

        list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
                if (!connector->encoder)
                        continue;
-               if (connector->status == connector_status_disconnected)
-                       connector->encoder = NULL;
        }

Would you like to comment about the use of this loop once those two lines
are deleted? ;-)

-- 
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.


More information about the dri-devel mailing list