Subject: CVS commit: src/sys/dev/scsipi
To: None <>
From: Charles M. Hannum <>
List: source-changes
Date: 09/05/2003 08:12:11
Module Name:	src
Committed By:	mycroft
Date:		Fri Sep  5 08:12:10 UTC 2003

Modified Files:
	src/sys/dev/scsipi: sd_scsi.c

Log Message:
In addition to skipping a variable-length list of block descriptors, we also
have to adjust for whether he have a "small" or "large" mode sense response.

sd_scsibus_getcache(), sd_scsibus_setache(): Set SMS_DBD so that we don't
have to deal with block descriptors here.

sd_scsibus_mode_sense(): Add a new parameter, "int *big", which tells the
caller whether it's a small or large header.

sd_scsibus_get_parms(), sd_scsibus_getcache(), sd_scsibus_setcache(): Use
the "big" value to find the data following the mode sense header correctly.

sd_scsibus_mode_sense(): Disable PQUIRK_NOBIGMODESENSE for now, as the
reasons for it were dubious and most likely fixed now.

sd_scsibus_get_parms(): Now that we're actually locating the right data,
check the returned page code to see if it's correct before using the mode
page info.

sd_scsibus_get_parms(): Get the rotational rate from the flex geometry page
too, if present.

XXX sd_scsibus_get_{opt,simplifiedparms}() need some work.

To generate a diff of this commit:
cvs rdiff -r1.29 -r1.30 src/sys/dev/scsipi/sd_scsi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.