freebsd-dev/sys/cam/scsi
Kenneth D. Merry 696db22238 Modify the changer driver so it can handle (hopefully!) changers that need
block descriptors enabled on mode sense commands.

Basically, we try sending a mode sense with block descriptors disabled (the
previous default), and if it fails, we try sending the mode sense with
block descriptors enabled.  If that works, we note that in a runtime quirk
entry, so we don't bother disabling block descriptors again for the device.

This problem was first reported by Chris Jones <cjones@honors.montana.edu>
on one of the NetBSD lists, but I'd imagine that some FreeBSD users would
have run into it eventually as well, since our changer driver is derived
form the NetBSD changer driver.

Also, change some of the probe logic so that we do the right thing in the
case of a failure to attach.

Fix a memory leak in chgetparams().

Add a couple of inline helper functions to scsi_all.h to correctly return
the start of a mode page.

NetBSD PR:	kern/6214
Reviewed by:	gibbs
1998-10-02 05:25:49 +00:00
..
scsi_all.c In the bootverbose case, print out error messages for all errors that will 1998-09-29 22:11:30 +00:00
scsi_all.h Modify the changer driver so it can handle (hopefully!) changers that need 1998-10-02 05:25:49 +00:00
scsi_cd.c Treat not ready errors (asc 0x04) as non-fatal errors for attach. We 1998-09-23 03:17:08 +00:00
scsi_cd.h Some fixes to the CD driver that may fix PR kern/7996. The data direction 1998-09-20 22:48:15 +00:00
scsi_ch.c Modify the changer driver so it can handle (hopefully!) changers that need 1998-10-02 05:25:49 +00:00
scsi_ch.h SCSI Peripheral drivers for CAM: 1998-09-15 06:36:34 +00:00
scsi_da.c Don't invalidate devices due to unexpected unit attention errors. In 1998-09-20 07:17:11 +00:00
scsi_da.h Fix the CAM code so that people can compile kernels with the CD driver but 1998-09-18 22:33:59 +00:00
scsi_message.h SCSI Peripheral drivers for CAM: 1998-09-15 06:36:34 +00:00
scsi_pass.c Check to make sure that this device is opened read-write, not just read 1998-09-16 00:11:53 +00:00
scsi_pass.h SCSI Peripheral drivers for CAM: 1998-09-15 06:36:34 +00:00
scsi_pt.c SCSI Peripheral drivers for CAM: 1998-09-15 06:36:34 +00:00
scsi_pt.h SCSI Peripheral drivers for CAM: 1998-09-15 06:36:34 +00:00
scsi_sa.c Patches from DES to create three new kernel config options to control 1998-10-02 05:15:51 +00:00
scsi_sa.h SCSI Peripheral drivers for CAM: 1998-09-15 06:36:34 +00:00
scsi_target.c Correct printf format bugs. 1998-09-15 22:05:44 +00:00
scsi_targetio.h SCSI Peripheral drivers for CAM: 1998-09-15 06:36:34 +00:00