]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
In camperiphdone(), make sure we check for fatal errors and bail out
authorKenneth D. Merry <ken@FreeBSD.org>
Mon, 27 Oct 2003 06:15:55 +0000 (06:15 +0000)
committerKenneth D. Merry <ken@FreeBSD.org>
Mon, 27 Oct 2003 06:15:55 +0000 (06:15 +0000)
commit65afe1f4543b9729b5824980a99eca58ddc48f61
tree1146692214bfdaa1a6a8b935bd2dae371c2c5f11
parentd536c58f535360dc432a2d91cc915686d761f4d3
In camperiphdone(), make sure we check for fatal errors and bail out
instead of retrying them blindly.

This should fix some of the problems people have been having with cdrom
drives taking a long time to probe.  This should also eliminate the need
for the initial TUR in cdsize().

cam_periph.c: Don't keep retrying if the error we get back is a fatal
error.  This should help us detect the transition from
"Logical unit not ready, cause not reportable" to "Medium
not present" in the "TUR many" handler.  (The TUR many
handler gets triggered for Logical unit not ready, cause
not reportable errors.)

scsi_cd.c: Remove the initial test unit ready in cdsize().  Hopefully
it isn't necessary after the above change.

Submitted by: gibbs (mostly)
Tested by: peter
MFC After: 2 weeks
sys/cam/cam_periph.c
sys/cam/scsi/scsi_cd.c