Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Bill Sommerfeld <sommerfeld@netbsd.org>
List: source-changes
Date: 10/28/1999 12:21:53
Module Name: syssrc
Committed By: sommerfeld
Date: Thu Oct 28 19:21:52 UTC 1999
Modified Files:
syssrc/sys/dev/ic: i82557.c i82557var.h
Log Message:
Fix suspend/resume-related problems observed on fxp0 on Sony Z505S:
Symptoms: system would crash with "data modified on free list" pool
panic from the mbuf cluster pool shortly after a resume. The cluster
in question contained a valid 82557 receive descriptor and an IP
packet. Happened sporadically in normal use. Easiest way for me to
reproduce it was to run tcpdump and a flood ping and do a
suspend/resume cycle or two.
Changes:
- in interrupt handler, if the interface isn't in IFF_RUNNING state,
just ack interrupts and return; don't try to receive packets, queue
new descriptors, etc., etc.,
- add power control hook to take interface down on suspend,
and restart it (if it was up) on resume.
- tweaks to fxp_stop and fxp_shutdown to avoid recursive panics due
to the (now fixed) bug.
To generate a diff of this commit:
cvs rdiff -r1.8 -r1.9 syssrc/sys/dev/ic/i82557.c
cvs rdiff -r1.6 -r1.7 syssrc/sys/dev/ic/i82557var.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.