summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/umass.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/usb/umass.c')
-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