Subject: CVS commit: src/sys/dev/scsipi
To: None <source-changes@NetBSD.org>
From: Reinoud Zandijk <reinoud@netbsd.org>
List: source-changes
Date: 09/07/2006 22:52:46
Module Name:	src
Committed By:	reinoud
Date:		Thu Sep  7 22:52:46 UTC 2006

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

Log Message:
The size of struct scsipi_read_discinfo_data is not even due to the data[1]
pseudo array in the structure. The scsi command issued used
sizeof(scsipi_read_discinfo_data) but included thus the last byte that
wasn't going to be inspected anyway. Using the constant
READ_DISCINFO_BIGSIZE fixes the bug.

Even though SCSI adapters *should* accept odd lengths, the Sun U10
(sparc64's) crashes in bus_space_read_multi_stream_2(). That explains the
crash.

NOTE: somewhere in NetBSD/sparc64's atapibus support there is the
assumption on the even size; this needs to be fixed! (Hi Sparc64 portmaster
:-) )


To generate a diff of this commit:
cvs rdiff -r1.248 -r1.249 src/sys/dev/scsipi/cd.c

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