Index: devs/eth/rltk//8139/current/ChangeLog =================================================================== RCS file: /home/cvsroot/Projects/ecos/packages/devs/eth/rltk/8139/current/ChangeLog,v retrieving revision 1.1.1.2 diff -u -5 -r1.1.1.2 ChangeLog --- devs/eth/rltk//8139/current/ChangeLog 16 May 2004 20:54:10 -0000 1.1.1.2 +++ devs/eth/rltk//8139/current/ChangeLog 18 Oct 2004 19:18:58 -0000 @@ -1,5 +1,11 @@ +2004-10-18 Andrew Dyer + + * src/if_8139.c (rltk8139_recv): if eth_drv_recv() wants to discard an + incoming packet it sets the buffer address == 0, add a check for this and + skip the memcpy if found. + 2004-04-21 Yoshinori Sato * src/if_8139.c: add known device 0x11db/0x1234 from Dreamcast Broadband Adapter. add Platform depend Initialize entry. Index: devs/eth/rltk//8139/current/src/if_8139.c =================================================================== RCS file: /home/cvsroot/Projects/ecos/packages/devs/eth/rltk/8139/current/src/if_8139.c,v retrieving revision 1.1.1.2 diff -u -5 -r1.1.1.2 if_8139.c --- devs/eth/rltk//8139/current/src/if_8139.c 16 May 2004 20:54:11 -0000 1.1.1.2 +++ devs/eth/rltk//8139/current/src/if_8139.c 18 Oct 2004 19:18:58 -0000 @@ -1004,12 +1004,14 @@ #ifdef CYGPKG_DEVS_ETH_RLTK_8139_SOFTWARE_CACHE_COHERENCY HAL_DCACHE_INVALIDATE(rx_buffer, rltk8139_info->rx_size); #endif for (last_sg = &sg_list[sg_len]; sg_list < last_sg; ++sg_list) { - memcpy((void *)(sg_list->buf), rx_buffer, sg_list->len); - rx_buffer += sg_list->len; + if (sg_list->buf != (CYG_ADDRESS)0) { + memcpy((void *)(sg_list->buf), rx_buffer, sg_list->len); + rx_buffer += sg_list->len; + } } } /*