summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authormsmith <msmith@FreeBSD.org>2001-12-09 06:02:46 +0000
committermsmith <msmith@FreeBSD.org>2001-12-09 06:02:46 +0000
commit1c02062f9f182c9815e3025514e0c3baf8c0114c (patch)
tree2294750a2feea141aaf9c5f6d8c881316fb4923d /sys
parent6fe4980d4399bb62f3fa11609d93e5bf547d8f11 (diff)
downloadFreeBSD-src-1c02062f9f182c9815e3025514e0c3baf8c0114c.zip
FreeBSD-src-1c02062f9f182c9815e3025514e0c3baf8c0114c.tar.gz
The ScanLogic SL11R-IDE claims to be SCSI-compatible, but actually requires
the UFI command set. Even with this patch, it's incredibly slow on my laptop, but at least now it works. Note that the drive is reported to CAM with the vendor and device IDs from the device itself, forcing the user to patch the da(4) quirk table manually.
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/usb/umass.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/sys/dev/usb/umass.c b/sys/dev/usb/umass.c
index bd3aaa1..185387c 100644
--- a/sys/dev/usb/umass.c
+++ b/sys/dev/usb/umass.c
@@ -685,7 +685,7 @@ umass_match_proto(struct umass_softc *sc, usbd_interface_handle iface,
*/
sc->quirks |= WRONG_CSWSIG;
}
-
+
switch (id->bInterfaceSubClass) {
case USUBCLASS_SCSI:
sc->proto |= PROTO_SCSI;
@@ -736,6 +736,16 @@ umass_match_proto(struct umass_softc *sc, usbd_interface_handle iface,
return(UMATCH_NONE);
}
+ if (UGETW(dd->idVendor) == USB_VENDOR_SCANLOGIC
+ && UGETW(dd->idProduct) == 0x0002) {
+ /* ScanLogic SL11R IDE adapter claims to support
+ * SCSI, but really needs UFI.
+ * Note also that these devices need firmware > 0.71
+ */
+ sc->proto &= ~PROTO_SCSI;
+ sc->proto |= PROTO_UFI;
+ }
+
return(UMATCH_DEVCLASS_DEVSUBCLASS_DEVPROTO);
}
OpenPOWER on IntegriCloud