Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'jg-20061012-00' of git://electric-eye.fr.zoreil.com/home/romieu/linux-2.6 into tmp

+6 -1
+6 -1
drivers/net/r8169.c
··· 214 214 { PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8168), 0, 0, RTL_CFG_2 }, 215 215 { PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8169), 0, 0, RTL_CFG_0 }, 216 216 { PCI_DEVICE(PCI_VENDOR_ID_DLINK, 0x4300), 0, 0, RTL_CFG_0 }, 217 + { PCI_DEVICE(0x1259, 0xc107), 0, 0, RTL_CFG_0 }, 217 218 { PCI_DEVICE(0x16ec, 0x0116), 0, 0, RTL_CFG_0 }, 218 219 { PCI_VENDOR_ID_LINKSYS, 0x1032, 219 220 PCI_ANY_ID, 0x0024, 0, 0, RTL_CFG_0 }, ··· 2701 2700 struct rtl8169_private *tp = netdev_priv(dev); 2702 2701 void __iomem *ioaddr = tp->mmio_addr; 2703 2702 unsigned int poll_locked = 0; 2703 + unsigned int intrmask; 2704 2704 2705 2705 rtl8169_delete_timer(dev); 2706 2706 ··· 2740 2738 * 2) dev->change_mtu 2741 2739 * -> rtl8169_poll can not be issued again and re-enable the 2742 2740 * interruptions. Let's simply issue the IRQ down sequence again. 2741 + * 2742 + * No loop if hotpluged or major error (0xffff). 2743 2743 */ 2744 - if (RTL_R16(IntrMask)) 2744 + intrmask = RTL_R16(IntrMask); 2745 + if (intrmask && (intrmask != 0xffff)) 2745 2746 goto core_down; 2746 2747 2747 2748 rtl8169_tx_clear(tp);