freebsd-skq/sys/cam
Kenneth D. Merry 65afe1f454 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
2003-10-27 06:15:55 +00:00
..
scsi In camperiphdone(), make sure we check for fatal errors and bail out 2003-10-27 06:15:55 +00:00
cam_ccb.h Add a PATH_INQ flag, PIM_NO_6_BYTE, which indicates the SIM never wishes to 2003-07-28 06:15:59 +00:00
cam_debug.h Rewrite of the CAM error recovery code. 2001-03-27 05:45:52 +00:00
cam_periph.c In camperiphdone(), make sure we check for fatal errors and bail out 2003-10-27 06:15:55 +00:00
cam_periph.h Centralize the devstat handling for all GEOM disk device drivers 2003-03-08 08:01:31 +00:00
cam_queue.c Use __FBSDID(). 2003-06-10 17:50:20 +00:00
cam_queue.h
cam_sim.c Use __FBSDID(). 2003-06-10 17:50:20 +00:00
cam_sim.h Const'ify cam_sim.sim_name to quiet warnings. 2001-01-24 01:46:18 +00:00
cam_xpt_periph.h
cam_xpt_sim.h
cam_xpt.c Use __FBSDID(). 2003-06-10 17:50:20 +00:00
cam_xpt.h Rewrite of the CAM error recovery code. 2001-03-27 05:45:52 +00:00
cam.c Merge common XPT_CALC_GEOMETRY functions into a single convenience function. 2003-06-14 22:17:38 +00:00
cam.h Define the kern.cam sysctl in the cam layer, rather than multiply in several 2002-01-09 03:39:04 +00:00