#endif
        n2k_outb(E8390_NODMA+E8390_PAGE0+E8390_STOP, E8390_CMD);
 
-       n2k_outb(n2k_inb(nic_base + PCNET_RESET), PCNET_RESET);
+       n2k_outb(n2k_inb(PCNET_RESET), PCNET_RESET);
 
        for (i = 0; i < 100; i++) {
                if ((r = (n2k_inb(EN0_ISR) & ENISR_RESET)) != 0)
 static int nrx = 0;
 
 static int pkey = -1;
+static int initialized=0;
 
 void uboot_push_packet_len(int len) {
        PRINTK("pushed len = %d, nrx = %d\n", len, nrx);
        }
        plen[nrx] = len;
        dp83902a_recv(&pbuf[nrx*2000], len);
+/*Just pass it to the upper layer*/
+       NetReceive(&pbuf[nrx*2000], plen[nrx]);
+/*eth_rx() was gutted, so this is not needed anymore*/
+#if 0
        nrx++;
+#endif
 }
 
 void uboot_push_tx_done(int key, int val) {
        if (dp83902a_init() == false)
                return -1;
        dp83902a_start(dev_addr);
+       initialized=1;
        return 0;
 }
 
 void eth_halt() {
 
        PRINTK("### eth_halt\n");
-
-       dp83902a_stop();
+       if(initialized)
+               dp83902a_stop();
+       initialized=0;
 }
 
 int eth_rx() {
-       int j, tmo;
-
-       PRINTK("### eth_rx\n");
-
-       tmo = get_timer (0) + TOUT * CFG_HZ;
-       while(1) {
-               dp83902a_poll();
-               if (nrx > 0) {
-                       for(j=0; j<nrx; j++) {
-                               NetReceive(&pbuf[j*2000], plen[j]);
-                       }
-                       nrx = 0;
-                       return 1;
-               }
-               if (get_timer (0) >= tmo) {
-                       printf("timeout during rx\n");
-                       return 0;
-               }
-       }
-       return 0;
+dp83902a_poll();
+return 1;
 }
 
 int eth_send(volatile void *packet, int length) {
 
  this file might be covered by the GNU General Public License.
 
  Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
- at http://sources.redhat.com/ecos/ecos-license/ */
+ at http://sources.redhat.com/ecos/ecos-license/
  -------------------------------------------
 ####ECOSGPLCOPYRIGHTEND####
 ####BSDCOPYRIGHTBEGIN####