summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/com/android/internal/os/KernelWakelockReader.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/core/java/com/android/internal/os/KernelWakelockReader.java b/core/java/com/android/internal/os/KernelWakelockReader.java
index 46667d1ea688..86b2a90dd64e 100644
--- a/core/java/com/android/internal/os/KernelWakelockReader.java
+++ b/core/java/com/android/internal/os/KernelWakelockReader.java
@@ -66,7 +66,7 @@ public class KernelWakelockReader {
*/
public final KernelWakelockStats readKernelWakelockStats(KernelWakelockStats staleStats) {
byte[] buffer = new byte[32*1024];
- int len;
+ int len = 0;
boolean wakeup_sources;
final long startTime = SystemClock.uptimeMillis();
@@ -87,7 +87,11 @@ public class KernelWakelockReader {
}
}
- len = is.read(buffer);
+ int cnt;
+ while ((cnt = is.read(buffer, len, buffer.length - len)) > 0) {
+ len += cnt;
+ }
+
is.close();
} catch (java.io.IOException e) {
Slog.wtf(TAG, "failed to read kernel wakelocks", e);