diff --git a/services/surfaceflinger/DisplayHardware/DisplayHardwareBase.cpp b/services/surfaceflinger/DisplayHardware/DisplayHardwareBase.cpp
index 3b7c09e..3c53dc4 100644
--- a/services/surfaceflinger/DisplayHardware/DisplayHardwareBase.cpp
+++ b/services/surfaceflinger/DisplayHardware/DisplayHardwareBase.cpp
@@ -72,6 +72,8 @@ bool DisplayHardwareBase::DisplayEventThread::threadLoop()
     int fd;
 
     fd = open(kSleepFileName, O_RDONLY, 0);
+    if (fd == -1 && errno == ENOENT)
+       return true; // End silently if FB_EARLYSUSPEND appears to be missing, as on kernels >= 3.3
     do {
       err = read(fd, &buf, 1);
     } while (err < 0 && errno == EINTR);
