Oeps! I overlooked the size argument of the SCSI call. It ought to be equal

to the number of bytes we are reading: READ_DISCINFO_BIGSIZE

sorry.
This commit is contained in:
reinoud 2006-09-08 00:33:18 +00:00
parent 7bbc0ebe95
commit 25522cfb86

View File

@ -1,4 +1,4 @@
/* $NetBSD: cd.c,v 1.249 2006/09/07 22:52:46 reinoud Exp $ */
/* $NetBSD: cd.c,v 1.250 2006/09/08 00:33:18 reinoud Exp $ */
/*-
* Copyright (c) 1998, 2001, 2003, 2004, 2005 The NetBSD Foundation, Inc.
@ -57,7 +57,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: cd.c,v 1.249 2006/09/07 22:52:46 reinoud Exp $");
__KERNEL_RCSID(0, "$NetBSD: cd.c,v 1.250 2006/09/08 00:33:18 reinoud Exp $");
#include "rnd.h"
@ -1685,7 +1685,7 @@ read_cd_capacity(struct scsipi_periph *periph, u_int *blksize, u_long *size)
flags = XS_CTL_DATA_IN | XS_CTL_DATA_ONSTACK | XS_CTL_SILENT;
memset(&di_cmd, 0, sizeof(di_cmd));
di_cmd.opcode = READ_DISCINFO;
_lto2b(sizeof(di), di_cmd.data_len);
_lto2b(READ_DISCINFO_BIGSIZE, di_cmd.data_len);
error = scsipi_command(periph,
(void *) &di_cmd, sizeof(di_cmd),