On Mon, 2006-12-11 at 11:24 -0500, Jeff Garzik wrote: > Darrick J. Wong wrote: > > The Quantum GoVault SATAPI removable disk device returns ATA_ERR in > > response to a REPORT LUNS packet. If this happens to an ATAPI device > > that is attached to a SAS controller (this is the case with sas_ata), > > the device does not load because SCSI won't touch a "SCSI device" > > that won't report its LUNs. Since most ATAPI devices don't support > > multiple LUNs anyway, we might as well fake a response like we do for > > ATA devices. > > > > Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> > > I'm leaning towards applying this, perhaps with a module option that > allows experimenters to revert back to the older behavior. > > Any chance you could be talked into tackling some of the SAT > translation-related items Doug G mentioned? I'm almost certain there > are some info pages we should be returning, but are not, at the very least. I thought we were closing in on agreeing that the SPC/MMC inconsistencies made this the correct candidate fix. James diff --git a/drivers/scsi/scsi_devinfo.c b/drivers/scsi/scsi_devinfo.c index ce63044..9d5e75b 100644 --- a/drivers/scsi/scsi_devinfo.c +++ b/drivers/scsi/scsi_devinfo.c @@ -7,6 +7,7 @@ #include <linux/proc_fs.h> #include <linux/seq_file.h> +#include <scsi/scsi.h> #include <scsi/scsi_device.h> #include <scsi/scsi_devinfo.h> @@ -439,6 +440,11 @@ int scsi_get_device_flags(struct scsi_de return devinfo->flags; } } + /* MMC devices can return SCSI-3 compliance and yet still not + * support REPORT LUNS, so make them act as BLIST_NOREPORTLUN + * unless BLIST_REPORTLUN2 is specifically set */ + if (sdev->type == TYPE_ROM && (bflags & BLIST_REPORTLUN2) == 0) + bflags |= BLIST_NOREPORTLUN; return bflags; } diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html