Re: softirq oops from b44_poll

From: Peter P Waskiewicz Jr
Date: Wed Nov 23 2011 - 03:14:41 EST


On Tue, 2011-11-22 at 15:16 -0800, Xander Hover wrote:
> Indeed will the in_irq() test will force dev_kfree_skb_any() to call
> dev_kfree_skb_irq().
> The kernel warning before this patch was applied, was also trigged by
> a WARN_ON_ONCE(in_irq()).
> I think David is right on this one.

Of course he is. :)

I think your patch should be submitted to fix the warning. I'd send it
to the netdev list (cc'd) to make sure David and the rest of those folks
see it.

-PJ

>
> On Tue, Nov 22, 2011 at 9:54 PM, David Miller <davem@xxxxxxxxxxxxx> wrote:
> > From: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx>
> > Date: Mon, 21 Nov 2011 15:17:33 -0800
> >
> >> I suspect the "right" way to fix this is to call dev_kfree_skb_any(skb);
> >> instead, since that will handle the in-interrupt case if that's where
> >> we're stuck.
> >
> > Caller is always b44_poll(), and that caller always does spin_lock_irqsave().
> >
> > Adding the extra tests implied by dev_kfree_skb_any() therefore doesn't
> > make any sense, as it will always evaluate to dev_kfree_skb_irq().
> >

--
Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx>
LAN Access Division, Intel Corporation

Attachment: smime.p7s
Description: S/MIME cryptographic signature