Bug 77889

Summary: platform devices are probed before vt switch has occured
Product: xorg Reporter: Maarten Lankhorst <bugs>
Component: Server/GeneralAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED MOVED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Calculate ODEV_ATTRIB_BUSID from the sysfs path instead of drmGetBusid. none

Description Maarten Lankhorst 2014-04-24 10:44:35 UTC
Created attachment 97896 [details] [review]
Calculate ODEV_ATTRIB_BUSID from the sysfs path instead of drmGetBusid.

When starting a new xserver from an existing xserver it will fail before it switches because the current vt is still on the old xserver. The drmSetInterfaceVersion from get_drm_info will fail, and no platform devices will be detected.

Additionally, unowned is not initialized, so in some circumstances a drm card can be found a second time after vt switching. Solve this by setting attribs->unowned to !xf86VTOwner.

In normal circumstances this bug is harmless because the fallback to PCI detection will still work, but it will fail when any GPU screens are in use. This race might also be triggered when switching from plymouth.
Comment 1 GitLab Migration User 2018-12-13 22:30:16 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/xserver/issues/458.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.