Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Jaromir Dolecek <jdolecek@netbsd.org>
List: source-changes
Date: 04/22/2001 14:32:50
Module Name:	syssrc
Committed By:	jdolecek
Date:		Sun Apr 22 11:32:50 UTC 2001

Modified Files:
	syssrc/sys/dev/mca: ed_mca.c edc_mca.c edcreg.h edcvar.h edvar.h

Log Message:
Fix serious bug in bounce buf handling - the EDF_BOUNCEBUF flag needs
to be cleared always in edmcadone(), otherwise if there is a write
via bounce buffer followed by read directly to buf, the read operation
would return trashed data (the buf data would get overwritten
by contents of bounce buffer in edmcadone()).
Reset b_resid as necessary when the i/o is done, too.

g/c some unneeded stuff, use lockmgr()-style locking in ed_[un]lock(),
better avoid some deadlocks

These changes make the driver quite a bit more stable. It's actually
reliable enough to be possible to newfs the drive and use it for
read/write filesystem now.


To generate a diff of this commit:
cvs rdiff -r1.2 -r1.3 syssrc/sys/dev/mca/ed_mca.c syssrc/sys/dev/mca/edvar.h
cvs rdiff -r1.1 -r1.2 syssrc/sys/dev/mca/edc_mca.c \
    syssrc/sys/dev/mca/edcreg.h syssrc/sys/dev/mca/edcvar.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.