Merge "suspend: Add path detail when it fails to read kernel wakesource stats"
diff --git a/suspend/1.0/default/WakeLockEntryList.cpp b/suspend/1.0/default/WakeLockEntryList.cpp
index 5443e62..d0bb1ce 100644
--- a/suspend/1.0/default/WakeLockEntryList.cpp
+++ b/suspend/1.0/default/WakeLockEntryList.cpp
@@ -219,7 +219,13 @@
     unique_fd wakelockFd{TEMP_FAILURE_RETRY(
         openat(mKernelWakelockStatsFd, kwlId.c_str(), O_DIRECTORY | O_CLOEXEC | O_RDONLY))};
     if (wakelockFd < 0) {
-        PLOG(ERROR) << "Error opening kernel wakelock stats for: " << kwlId;
+        char buf[PATH_MAX];
+        ssize_t data_length =
+            readlinkat(mKernelWakelockStatsFd, kwlId.c_str(), buf, sizeof(buf) - 1);
+        if (data_length <= 0 || strncmp(kwlId.c_str(), buf, kwlId.length()) == 0) {
+            buf[0] = '\0';
+        }
+        PLOG(ERROR) << "Error opening kernel wakelock stats for: " << kwlId << " (" << buf << ")";
     }
 
     std::unique_ptr<DIR, decltype(&closedir)> wakelockDp(fdopendir(dup(wakelockFd.get())),