lkml.org 
[lkml]   [2010]   [Feb]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [2.6.33-rc6-git regression] idr fix breaks Xorg
    Hello,

    Can you please test the following patch on top of the current
    mainline? Thanks.

    diff --git a/lib/idr.c b/lib/idr.c
    index 1cac726..0dc7822 100644
    --- a/lib/idr.c
    +++ b/lib/idr.c
    @@ -156,10 +156,12 @@ static int sub_alloc(struct idr *idp, int *starting_id, struct idr_layer **pa)
    id = (id | ((1 << (IDR_BITS * l)) - 1)) + 1;

    /* if already at the top layer, we need to grow */
    - if (!(p = pa[l])) {
    + if (id >= 1 << (idp->layers * IDR_BITS)) {
    *starting_id = id;
    return IDR_NEED_TO_GROW;
    }
    + p = pa[l];
    + BUG_ON(!p);

    /* If we need to go up one layer, continue the
    * loop; otherwise, restart from the top.
    --
    tejun


    \
     
     \ /
      Last update: 2010-02-11 09:47    [W:0.022 / U:0.120 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site