cvs commit: src/sys/bus/cam cam_queue.c cam_xpt.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Sun Mar 14 21:44:11 PST 2004
dillon 2004/03/14 21:43:52 PST
DragonFly src repository
Modified files:
sys/bus/cam cam_queue.c cam_xpt.c
Log:
When deregistering a bus, pending device bus scan timeouts are not deleted
and pending ccb's are not necessary aborted/processed prior to the sim
potentially being destroyed. Adjust AC_LOST_DEVICE to release any pending
timeouts (and it should also restart the command queue). This may interlock
against the detaching device (e.g. UMASS) having set a flag in its softc
that causes all future commands to fail immediately. Note that we have to
also run any pending ISRs synchronously before xpt_bus_deregister() can
safely return.
When freeing a device queue, print a warning if the device queue contains
active commands. If a device queue is freed while holding active commands
all sorts of bad things can happen, including the machine locking up on
boot while waiting for CAM to finish scanning its SCSI busses.
Revision Changes Path
1.6 +2 -0 src/sys/bus/cam/cam_queue.c
1.13 +33 -0 src/sys/bus/cam/cam_xpt.c
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/cam_queue.c.diff?r1=1.5&r2=1.6&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/cam_xpt.c.diff?r1=1.12&r2=1.13&f=h
More information about the Commits
mailing list