https://bugzilla.novell.com/show_bug.cgi?id=809810
https://bugzilla.novell.com/show_bug.cgi?id=809810#c21
--- Comment #21 from Jiri Slaby
--- drivers/net/ethernet/realtek/8139too.c +++ drivers/net/ethernet/realtek/8139too.c 2013-10-27 15:38:26.153167940 +0000 @@ -2145,26 +2145,34 @@ static int rtl8139_poll(struct napi_stru static irqreturn_t rtl8139_interrupt (int irq, void *dev_instance) { struct net_device *dev = (struct net_device *) dev_instance; - struct rtl8139_private *tp = netdev_priv(dev); - void __iomem *ioaddr = tp->mmio_addr; + struct rtl8139_private *tp; + void __iomem *ioaddr; u16 status, ackstat; int link_changed = 0; /* avoid bogus "uninit" warning */ - int handled = 0; + int handled = IRQ_NONE; + + if (unlikely(dev == NULL)) + return IRQ_RETVAL(handled);
Hi, as far as request_irq does not pass NULL (it cannot due to shared irq flag, which I presume), this can never happen.
+ tp = netdev_priv(dev); + ioaddr = tp->mmio_addr;
spin_lock (&tp->lock); + synchronize_irq(dev->irq);
This looks weird. Waiting for itself to finish: does this cause deadlocks or am I missing something? regards, -- js suse labs -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.