@@ -31,11 +31,16 @@ get_drm_info(struct OdevAttributes *attribs, char *path)
if (fd == -1)
return FALSE;
- sv.drm_di_major = 1;
- sv.drm_di_minor = 4;
- sv.drm_dd_major = -1; /* Don't care */
- sv.drm_dd_minor = -1; /* Don't care */
- err = drmSetInterfaceVersion(fd, &sv);
+ while (1) {
+ sv.drm_di_major = 1;
+ sv.drm_di_minor = 4;
+ sv.drm_dd_major = -1; /* Don't care */
+ sv.drm_dd_minor = -1; /* Don't care */
+ err = drmSetInterfaceVersion(fd, &sv);
+ if (!err)
+ break;
+ usleep(1000);
+ }
if (err) {
ErrorF("setversion 1.4 failed: %s\n", strerror(-err));
goto out;
Signed-off-by: Bryce Harrington <bryce@canonical.com> --- hw/xfree86/os-support/linux/lnx_platform.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-)