diff -ru _/gxemul/src/devices/dev_ether.c gxemul/src/devices/dev_ether.c --- _/gxemul/src/devices/dev_ether.c 2009-06-22 01:03:48.000000000 +0900 +++ gxemul/src/devices/dev_ether.c 2010-01-11 00:00:00.000000000 +0900 @@ -146,9 +146,13 @@ fatal("[ ether: RECEIVE but no net? ]\n"); else { d->status &= ~DEV_ETHER_STATUS_PACKET_RECEIVED; +#if 0 net_ethernet_rx(cpu->machine->emul->net, d, &incoming_ptr, &incoming_len); if (incoming_ptr != NULL) { +#else /* patch */ + if (net_ethernet_rx(cpu->machine->emul->net, d, &incoming_ptr, &incoming_len) != 0) { +#endif d->status |= DEV_ETHER_STATUS_PACKET_RECEIVED; if (incoming_len>DEV_ETHER_BUFFER_SIZE)