--- linux-2.6.9-rc1-bk17.orig/drivers/net/r8169.c 2004-09-10 21:57:57.000000000 +0200 +++ linux-2.6.9-rc1-bk17/drivers/net/r8169.c 2004-09-10 22:35:39.000000000 +0200 @@ -53,13 +53,14 @@ VERSION 1.2 <2002/11/30> #define RTL8169_DRIVER_NAME MODULENAME " Gigabit Ethernet driver " RTL8169_VERSION #define PFX MODULENAME ": " +#define RTL8169_DEBUG #ifdef RTL8169_DEBUG #define assert(expr) \ if(!(expr)) { \ - printk( "Assertion failed! %s,%s,%s,line=%d\n", \ + printk(KERN_ERR "Assertion failed! %s,%s,%s,line=%d\n", \ #expr,__FILE__,__FUNCTION__,__LINE__); \ } -#define dprintk(fmt, args...) do { printk(PFX fmt, ## args) } while (0) +#define dprintk(fmt, args...) do { printk(PFX fmt, ## args); } while (0) #else #define assert(expr) do {} while (0) #define dprintk(fmt, args...) do {} while (0) @@ -1308,7 +1309,7 @@ rtl8169_hw_start(struct net_device *dev) RTL_W8(EarlyTxThres, EarlyTxThld); // For gigabit rtl8169 - RTL_W16(RxMaxSize, RxPacketMaxSize); + RTL_W16(RxMaxSize, RX_BUF_SIZE); // Set Rx Config register i = rtl8169_rx_config | @@ -1698,6 +1699,7 @@ rtl8169_rx_interrupt(struct net_device * pci_action(tp->pci_dev, le64_to_cpu(desc->addr), RX_BUF_SIZE, PCI_DMA_FROMDEVICE); + assert(pkt_size <= RX_BUF_SIZE); skb_put(skb, pkt_size); skb->protocol = eth_type_trans(skb, dev); rtl8169_rx_skb(skb);