--- C:/Documents and Settings/jkosin/My Documents/junk/kernel/Copy of linux-2.6.31.5/drivers/net/arm/at91_ether.c Thu Oct 22 18:57:56 2009 +++ C:/Documents and Settings/jkosin/My Documents/junk/kernel/linux-2.6.31.5/drivers/net/arm/at91_ether.c Wed Jan 13 12:05:39 2010 @@ -925,9 +925,6 @@ It is automatically cleared once read. */ intstatus = at91_emac_read(AT91_EMAC_ISR); - if (intstatus & AT91_EMAC_RCOM) /* Receive complete */ - at91ether_rx(dev); - if (intstatus & AT91_EMAC_TCOM) { /* Transmit complete */ /* The TCOM bit is set even if the transmission failed. */ if (intstatus & (AT91_EMAC_TUND | AT91_EMAC_RTRY)) @@ -940,6 +937,9 @@ } netif_wake_queue(dev); } + + if (intstatus & AT91_EMAC_RCOM) /* Receive complete */ + at91ether_rx(dev); /* Work-around for Errata #11 */ if (intstatus & AT91_EMAC_RBNA) {