freebsd-skq/sys/cam
Kenneth D. Merry 777cfc2acd Some fixes for the CD and DA drivers from bde. (and some of my own as
well)  Among them:

[ cd driver ]
1. Old labeling code was still there.
2. Error handling for dsopen() was broken (no test for the `error'
   returned by dsopen(); bogus test of an `error' that is known to be 0).
3. cdopen() closed the physical device after certain errors although there
   may still be open partitions on it.
4. cdclose() closed the physical device although there may still be open
   partitions on it.
5. Some printf format fixes was incomplete or missing.
6. cdioctl() truncated unit numbers mod 256.
7. cdioctl() was missing locking.

[ da driver ]
1. daclose() closed the physical device although there may still be open
   partitions on it.  This was fixed many years ago in sd.c rev.1.57.
2. A minor optimization (the dk_slices != NULL test) in sdopen() became
   uglier in daopen().  It is not worth doing.  da only regressed compared
   with od and my version of sd, since I never committed the change to sd.
   daopen() should probably do less if some partition is already open.
   This is not addressed by the diffs.
[ ... ]
5. "opt_hw_wdog.h" was not included, so the HW_WDOG code was unreachable.

- Added a getdev CCB call in the cdopen() and daopen() calls so that the
  vendor name and device name are available for the disklabel.  (suggested
  by bde)

- Removed vestigal devfs support in both drivers, since we can't properly
  work with devfs yet.  (ask bde for details on this)

- Cleaned up the probe code in both drivers in the failure cases.  There
  were a number of things wrong here.  The peripheral driver instances
  weren't getting properly cleaned up.  Sometimes the wrong probe message
  would get printed out (with the failure message appended), so it wasn't
  very clear that we failed to attach.  SCSI sense information was printed,
  even when the error in question wasn't a SCSI error.  I put similar fixes
  into the changer driver in revision 1.2 of scsi_ch.c.

Reviewed by:	gibbs
Submitted by:	bde (partially)
1998-10-07 02:57:57 +00:00
..
scsi Some fixes for the CD and DA drivers from bde. (and some of my own as 1998-10-07 02:57:57 +00:00
cam_ccb.h CAM Transport Layer (XPT). 1998-09-15 06:33:23 +00:00
cam_conf.h CAM Transport Layer (XPT). 1998-09-15 06:33:23 +00:00
cam_debug.h Add a new CAM debugging mode, CAM_DEBUG_CDB. This causes the kernel to 1998-10-02 21:00:58 +00:00
cam_extend.c CAM Transport Layer (XPT). 1998-09-15 06:33:23 +00:00
cam_extend.h CAM Transport Layer (XPT). 1998-09-15 06:33:23 +00:00
cam_periph.c Fixed printf format errors. u_long is not necessarily suitable for casting 1998-09-29 09:18:08 +00:00
cam_periph.h CAM Transport Layer (XPT). 1998-09-15 06:33:23 +00:00
cam_queue.c CAM Transport Layer (XPT). 1998-09-15 06:33:23 +00:00
cam_queue.h CAM Transport Layer (XPT). 1998-09-15 06:33:23 +00:00
cam_sim.c CAM Transport Layer (XPT). 1998-09-15 06:33:23 +00:00
cam_sim.h CAM Transport Layer (XPT). 1998-09-15 06:33:23 +00:00
cam_xpt_periph.h CAM Transport Layer (XPT). 1998-09-15 06:33:23 +00:00
cam_xpt_sim.h CAM Transport Layer (XPT). 1998-09-15 06:33:23 +00:00
cam_xpt.c Disable multi-lun probing and serial number inquiries for the Exabyte 8200. 1998-10-06 19:27:19 +00:00
cam_xpt.h CAM Transport Layer (XPT). 1998-09-15 06:33:23 +00:00
cam.c cam.c: 1998-09-22 04:53:23 +00:00
cam.h CAM Transport Layer (XPT). 1998-09-15 06:33:23 +00:00