diff options
-rw-r--r-- | kernel/lockdep.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/kernel/lockdep.c b/kernel/lockdep.c index f5dcd36d3151..7a3ae56b3a7f 100644 --- a/kernel/lockdep.c +++ b/kernel/lockdep.c | |||
@@ -168,7 +168,7 @@ static void lock_time_inc(struct lock_time *lt, u64 time) | |||
168 | if (time > lt->max) | 168 | if (time > lt->max) |
169 | lt->max = time; | 169 | lt->max = time; |
170 | 170 | ||
171 | if (time < lt->min || !lt->min) | 171 | if (time < lt->min || !lt->nr) |
172 | lt->min = time; | 172 | lt->min = time; |
173 | 173 | ||
174 | lt->total += time; | 174 | lt->total += time; |
@@ -177,8 +177,15 @@ static void lock_time_inc(struct lock_time *lt, u64 time) | |||
177 | 177 | ||
178 | static inline void lock_time_add(struct lock_time *src, struct lock_time *dst) | 178 | static inline void lock_time_add(struct lock_time *src, struct lock_time *dst) |
179 | { | 179 | { |
180 | dst->min += src->min; | 180 | if (!src->nr) |
181 | dst->max += src->max; | 181 | return; |
182 | |||
183 | if (src->max > dst->max) | ||
184 | dst->max = src->max; | ||
185 | |||
186 | if (src->min < dst->min || !dst->nr) | ||
187 | dst->min = src->min; | ||
188 | |||
182 | dst->total += src->total; | 189 | dst->total += src->total; |
183 | dst->nr += src->nr; | 190 | dst->nr += src->nr; |
184 | } | 191 | } |