bugreport: The r8169.c driver is calling netif_receive_skb from hardirq and with interrupts off

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Arjan van de Ven
Date: Monday, April 14, 2008 - 11:01 am

The r8169.c driver is calling netif_receive_skb from hardirq and with interrupts off,
which seems to be invalid (the comments of netif_receive_skb) certainly say so.

The calltrace is like this:

packet_rcv
netif_receive_skb
rtl8168_rx_interrupt
rtl8168_interrupt
handle_IRQ_event
handle_fasteoi_irq
do_IRQ


Which triggers a warning in packet_rcv() since that does a local_bh_enable(),
which gives a WARN_ON if irqs are disabled (rightfully so it seems).

The code looks is in rtl8169_rx_interrupt() line 2832 and looks like

                         if (rtl8169_rx_vlan_skb(tp, desc, skb) < 0)
                                 rtl8169_rx_skb(skb);

with
#define rtl8169_rx_skb                  netif_receive_skb
higher up in the file.

This is the 46th highest ranking warnon/oops report for 2.6.25-rc

Greetings,
    Arjan van de Ven
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
bugreport: The r8169.c driver is calling netif_receive_skb ..., Arjan van de Ven, (Mon Apr 14, 11:01 am)
Re: bugreport: The r8169.c driver is calling netif_receive ..., Stephen Hemminger, (Mon Apr 14, 11:22 am)
Re: bugreport: The r8169.c driver is calling netif_receive ..., Arjan van de Ven, (Mon Apr 14, 11:24 am)
Re: bugreport: The r8169.c driver is calling netif_receive ..., Stephen Hemminger, (Mon Apr 14, 11:31 am)