linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Problem with dev_kfree_skb_any() in 2.6.0
@ 2003-12-27 23:17 Benjamin Herrenschmidt
  2003-12-28  1:07 ` David S. Miller
  0 siblings, 1 reply; 14+ messages in thread
From: Benjamin Herrenschmidt @ 2003-12-27 23:17 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Linux Kernel list

I'm getting Ooops reports with sungem. The problem is that in the PM
code (and possibly other exceptional code path), it will clean the rings
at non interrupt time but with a spinlock_irq held.

it uses dev_kfree_skb_any() which does:

static inline void dev_kfree_skb_any(struct sk_buff *skb)
{
        if (in_irq())
                dev_kfree_skb_irq(skb);
        else
                dev_kfree_skb(skb);
}

However, in_irq() seem to only catch real IRQ time, so I end up calling
dev_kfree_skb(), which triggers the following BUG() in local_bh_enable()
        WARN_ON(irqs_disabled());

We should probably fix dev_kfree_skb_any() ? Still ugly imho though...

-        if (in_irq())
+        if (in_irq() || irqs_disabled())


Ben.



^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2004-01-06  3:59 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-12-27 23:17 Problem with dev_kfree_skb_any() in 2.6.0 Benjamin Herrenschmidt
2003-12-28  1:07 ` David S. Miller
2003-12-28  5:44   ` Benjamin Herrenschmidt
2003-12-30  4:09   ` Jeff Garzik
2003-12-30  4:51     ` David S. Miller
2003-12-30  5:15       ` Jeff Garzik
2003-12-30  6:01         ` David S. Miller
2003-12-30  6:12           ` Jeff Garzik
2003-12-30  6:13             ` David S. Miller
2003-12-30 17:43               ` Jeff Garzik
2004-01-01 20:42                 ` David S. Miller
2004-01-02  2:58                   ` Jeff Garzik
2004-01-06  3:54                     ` David S. Miller
2003-12-30  6:14       ` Benjamin Herrenschmidt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).