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