From ffb6d5ad8fb57b85b3c849dbb8f67c8139369671 Mon Sep 17 00:00:00 2001 From: Mike Smith Date: Sun, 9 Dec 2001 06:02:46 +0000 Subject: [PATCH] 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. --- sys/dev/usb/umass.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/sys/dev/usb/umass.c b/sys/dev/usb/umass.c index bd3aaa122e5d..185387c39c2c 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); }