An ATAPI drive (_NEC , DVD_RW ND-3520A, 1.04, SCSI CD-ROM) was getting

set as big endian although it appeared not to, possibly because of
SCSI emulation.

We now test for SCSIness in addition to ATAPIness as both can occur.

Added field in cdrom_device structure for SCSIness and that's tested
before unconditionally setting drive bigendian-ness.
This commit is contained in:
rocky
2005-04-28 01:25:53 +00:00
parent 5b0aecf817
commit 54e0e9a52f
3 changed files with 11 additions and 6 deletions

View File

@@ -1,5 +1,5 @@
/*
$Id: interface.c,v 1.22 2005/02/10 01:59:06 rocky Exp $
$Id: interface.c,v 1.23 2005/04/28 01:25:53 rocky Exp $
Copyright (C) 2005 Rocky Bernstein <rocky@panix.com>
Copyright (C) 1998 Monty xiphmont@mit.edu
@@ -121,8 +121,8 @@ cdio_cddap_open(cdrom_drive_t *d)
/* d->select_speed(d,d->maxspeed); most drives are full speed by default */
if ( -1 == d->bigendianp ) {
if (yep == cdio_have_atapi(d->p_cdio))
/* Is this right? Might we also have to check for SCSI ATAPI? */
if (1 != d->is_scsi && yep == cdio_have_atapi(d->p_cdio))
/* Is this right? */
d->bigendianp = 1;
else
d->bigendianp = data_bigendianp(d);