From owner-cvs-all Thu Oct 1 22:25:56 1998 Return-Path: Received: (from daemon@localhost) by hub.freebsd.org (8.8.8/8.8.8) id WAA01863 for cvs-all-outgoing; Thu, 1 Oct 1998 22:25:56 -0700 (PDT) (envelope-from owner-cvs-all) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id WAA01852; Thu, 1 Oct 1998 22:25:55 -0700 (PDT) (envelope-from ken@FreeBSD.org) From: Kenneth Merry Received: (from ken@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id WAA09748; Thu, 1 Oct 1998 22:25:50 -0700 (PDT) Date: Thu, 1 Oct 1998 22:25:50 -0700 (PDT) Message-Id: <199810020525.WAA09748@freefall.freebsd.org> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: cvs commit: src/sys/cam/scsi scsi_all.h scsi_ch.c Sender: owner-cvs-all@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk ken 1998/10/01 22:25:50 PDT Modified files: sys/cam/scsi scsi_all.h scsi_ch.c Log: 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 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 Revision Changes Path 1.4 +30 -2 src/sys/cam/scsi/scsi_all.h 1.2 +188 -68 src/sys/cam/scsi/scsi_ch.c