diff options
author | Colin Cross | 2013-03-13 19:16:02 -0500 |
---|---|---|
committer | Colin Cross | 2013-03-13 19:16:02 -0500 |
commit | 0b203ab4aacdb6e6dfb8c277aa290f0a02428e6f (patch) | |
tree | 9bab760a750d9cf4504d92603ee7fc82beeb2e38 /lib | |
parent | a276def548828763cf5ac228adf8c1ca73f8d4d3 (diff) | |
parent | e28c3f2b514b5581e15614f7cf976131092cf4b6 (diff) | |
download | kernel-common-0b203ab4aacdb6e6dfb8c277aa290f0a02428e6f.tar.gz kernel-common-0b203ab4aacdb6e6dfb8c277aa290f0a02428e6f.tar.xz kernel-common-0b203ab4aacdb6e6dfb8c277aa290f0a02428e6f.zip |
Merge tag 'v3.0.68' into android-3.0
This is the 3.0.68 stable release
Conflicts:
kernel/cgroup.c
Change-Id: I067982d25e18e3a12de93a5eb6429b8829d7ca11
Diffstat (limited to 'lib')
-rw-r--r-- | lib/idr.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -621,7 +621,14 @@ void *idr_get_next(struct idr *idp, int *nextidp) | |||
621 | return p; | 621 | return p; |
622 | } | 622 | } |
623 | 623 | ||
624 | id += 1 << n; | 624 | /* |
625 | * Proceed to the next layer at the current level. Unlike | ||
626 | * idr_for_each(), @id isn't guaranteed to be aligned to | ||
627 | * layer boundary at this point and adding 1 << n may | ||
628 | * incorrectly skip IDs. Make sure we jump to the | ||
629 | * beginning of the next layer using round_up(). | ||
630 | */ | ||
631 | id = round_up(id + 1, 1 << n); | ||
625 | while (n < fls(id)) { | 632 | while (n < fls(id)) { |
626 | n += IDR_BITS; | 633 | n += IDR_BITS; |
627 | p = *--paa; | 634 | p = *--paa; |