Subject: CVS commit: syssrc [thorpej_scsipi]
To: None <source-changes@netbsd.org>
From: Matthew Jacob <mjacob@netbsd.org>
List: source-changes
Date: 04/23/2001 04:03:35
Module Name:	syssrc
Committed By:	mjacob
Date:		Mon Apr 23 01:03:35 UTC 2001

Modified Files:
	syssrc/sys/dev/scsipi [thorpej_scsipi]: scsipi_base.c

Log Message:
Don't let the chan_qfreeze count go negative.

It's possible that the adapters shouldn't do this. But if you think about
it, this is a function that could be called from anywhere. In any case,
the specific reason here was that there is *sometimes* one more Loop UP
message from QLogic FC cards than then Loop Down, so making the chan_qfreeze
go negative blocked the queue needlessly.

Add a splbio/splx around the test against XS_STS_DONE in scsipi_execute_xs
for the non-async case so we don't do the classic sleep after test crock.


To generate a diff of this commit:
cvs rdiff -r1.26.2.15 -r1.26.2.16 syssrc/sys/dev/scsipi/scsipi_base.c

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