diff --git a/recipes-openharmony/openharmony/openharmony-standard-3.0/xf86drm.c-Add-drmWaitVBlank-hack.patch b/recipes-openharmony/openharmony/openharmony-standard-3.0/xf86drm.c-Add-drmWaitVBlank-hack.patch
index f32503729048b85da98813a4d01fb37f12cb4ab2..9714e3e4919f4d76021129d0029b743a7061ff13 100644
--- a/recipes-openharmony/openharmony/openharmony-standard-3.0/xf86drm.c-Add-drmWaitVBlank-hack.patch
+++ b/recipes-openharmony/openharmony/openharmony-standard-3.0/xf86drm.c-Add-drmWaitVBlank-hack.patch
@@ -35,9 +35,10 @@ index b49d42f..0e2805a 100644
             if (cur.tv_sec > timeout.tv_sec + 1 ||
                 (cur.tv_sec == timeout.tv_sec && cur.tv_nsec >=
                  timeout.tv_nsec)) {
-@@ -2187,9 +2188,11 @@ drm_public int drmWaitVBlank(int fd, drmVBlankPtr vbl)
+@@ -2187,9 +2188,12 @@ drm_public int drmWaitVBlank(int fd, drmVBlankPtr vbl)
                     break;
             }
++           usleep(10000);
         }
 -    } while (ret && errno == EINTR);
 +    } while (ret && (errno == EINTR || errno == ENOTSUP));