summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHidetoshi Shimokawa <simokawa@FreeBSD.org>2002-02-21 11:58:47 +0000
committerHidetoshi Shimokawa <simokawa@FreeBSD.org>2002-02-21 11:58:47 +0000
commit8b798fba961153dcc8ba6266a7d8fff66a8e3acc (patch)
tree07596e3fa35b3fa495d3321925492015ac927ee9
parent07ac83f0b053936a1946c004afae16750615ced7 (diff)
Notes
-rw-r--r--sys/cam/scsi/scsi_all.c6
-rw-r--r--sys/cam/scsi/scsi_da.c16
2 files changed, 21 insertions, 1 deletions
diff --git a/sys/cam/scsi/scsi_all.c b/sys/cam/scsi/scsi_all.c
index 46fe7e6411d8..12cfa1989fde 100644
--- a/sys/cam/scsi/scsi_all.c
+++ b/sys/cam/scsi/scsi_all.c
@@ -2220,6 +2220,12 @@ scsi_print_inquiry(struct scsi_inquiry_data *inq_data)
case T_ENCLOSURE:
dtype = "Enclosure Services";
break;
+ case T_RBC:
+ dtype = "Simplified Direct Access";
+ break;
+ case T_OCRW:
+ dtype = "Optical Card Read/Write";
+ break;
case T_NODEVICE:
dtype = "Uninstalled";
default:
diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c
index dee169284c7b..b58ba9a35872 100644
--- a/sys/cam/scsi/scsi_da.c
+++ b/sys/cam/scsi/scsi_da.c
@@ -141,6 +141,19 @@ static const char microp[] = "MICROP";
static struct da_quirk_entry da_quirk_table[] =
{
+ /*
+ * Logitec USB/Firewire LHD-P30FU
+ */
+ {
+ /* USB part */
+ {T_DIRECT, SIP_MEDIA_FIXED, "HITACHI_", "DK23DA*", "*"},
+ /*quirks*/ DA_Q_NO_6_BYTE
+ },
+ {
+ /* Firewire part */
+ {T_DIRECT, SIP_MEDIA_FIXED, "LSILogic", "SYM13FW*", "*"},
+ /*quirks*/ DA_Q_NO_6_BYTE
+ },
{
/*
* Fujitsu M2513A MO drives.
@@ -1032,6 +1045,7 @@ daasync(void *callback_arg, u_int32_t code,
break;
if (SID_TYPE(&cgd->inq_data) != T_DIRECT
+ && SID_TYPE(&cgd->inq_data) != T_RBC
&& SID_TYPE(&cgd->inq_data) != T_OPTICAL)
break;
@@ -1131,7 +1145,7 @@ daregister(struct cam_periph *periph, void *arg)
else
softc->quirks = DA_Q_NONE;
- if (softc->quirks & DA_Q_NO_6_BYTE)
+ if (softc->quirks & DA_Q_NO_6_BYTE || SID_TYPE(&cgd->inq_data) == T_RBC)
softc->minimum_cmd_size = 10;
else
softc->minimum_cmd_size = 6;