Date: Mon, 29 Sep 1997 04:27:43 -0700 (PDT) From: David Greenman <davidg@FreeBSD.ORG> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG, cvs-sys@FreeBSD.ORG Subject: cvs commit: src/sys/pci if_fxp.c if_fxpreg.h if_fxpvar.h Message-ID: <199709291127.EAA17370@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
davidg 1997/09/29 04:27:43 PDT Modified files: sys/pci if_fxp.c if_fxpreg.h if_fxpvar.h Log: Work around a bug in the 82557 NIC where the receiver will lock up if it is in 10Mbps mode and gets certain types of garbage prior to the packet header. The work-around involves reprogramming the multicast filter if nothing is received in some number of seconds (currently set at 15). As a side effect, implemented complete support for multicasting rather than the previous 'receive all multicasts' hack, since we now have the ability to program the filter table. Fixed a serious bug which crept in with the timeout() changes; the cookie was only saved on the first timeout() call in fxp_init() and wasn't updated in the most common place in fxp_stats_update() when the timeout was rescheduled. This bug would have resulted in an eventual panic if fxp_stop() was called (which happens when any interface flags are changed, for example). Fixed a bug in Alpha support that would have caused the TxCB descriptor chain to span a page boundry, causing serious problems if the pages didn't happen to be contiguous. Removed some gratuitous bit masking that was left over from an older implementation. Fixed a bug where too much was copied from the configuration template, spilling over into memory that followed it. Fixed handling of if_timer...it was cleared too early in some cases. Revision Changes Path 1.41 +160 -49 src/sys/pci/if_fxp.c 1.11 +33 -7 src/sys/pci/if_fxpreg.h 1.3 +5 -1 src/sys/pci/if_fxpvar.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199709291127.EAA17370>