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>
