lkml.org 
[lkml]   [2007]   [Nov]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: 2.6.23 WARNING: at kernel/softirq.c:139 local_bh_enable()
    Simon, can you test this patch? I think it's the most straightforward
    2.6.24 fix.

    diff -r c60016ba6237 net/core/netpoll.c
    --- a/net/core/netpoll.c Tue Nov 13 09:09:36 2007 -0800
    +++ b/net/core/netpoll.c Fri Nov 23 13:10:28 2007 -0600
    @@ -203,6 +203,12 @@ static void refill_skbs(void)
    spin_unlock_irqrestore(&skb_pool.lock, flags);
    }

    +/* used to mark an skb as owned by netpoll */
    +static void netpoll_skb_destroy(struct sk_buff *skb)
    +{
    + return;
    +}
    +
    static void zap_completion_queue(void)
    {
    unsigned long flags;
    @@ -219,10 +225,12 @@ static void zap_completion_queue(void)
    while (clist != NULL) {
    struct sk_buff *skb = clist;
    clist = clist->next;
    - if (skb->destructor)
    + if (skb->destructor == netpoll_skb_destroy) {
    + skb->destructor = NULL;
    + __kfree_skb(skb);
    + }
    + else
    dev_kfree_skb_any(skb); /* put this one back */
    - else
    - __kfree_skb(skb);
    }
    }

    @@ -252,6 +260,7 @@ repeat:

    atomic_set(&skb->users, 1);
    skb_reserve(skb, reserve);
    + skb->destructor = netpoll_skb_destroy;
    return skb;
    }

    --
    Mathematics is the supreme nostalgia of our time.
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-11-24 19:23    [W:0.019 / U:29.560 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site