diff options
-rw-r--r-- | sys/dev/usb/umass.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sys/dev/usb/umass.c b/sys/dev/usb/umass.c index 2bee2ab..ce8f75d 100644 --- a/sys/dev/usb/umass.c +++ b/sys/dev/usb/umass.c @@ -576,6 +576,13 @@ umass_match_proto(struct umass_softc *sc, usbd_interface_handle iface, return(UMATCH_VENDOR_PRODUCT); } + if (UGETW(dd->idVendor) == USB_VENDOR_INSYSTEM + && UGETW(dd->idProduct) == USB_PRODUCT_INSYSTEM_USBCABLE) { + sc->proto = PROTO_ATAPI | PROTO_CBI; + sc->quirks |= NO_TEST_UNIT_READY | NO_START_STOP; + return(UMATCH_VENDOR_PRODUCT); + } + if (UGETW(dd->idVendor) == USB_VENDOR_YEDATA && UGETW(dd->idProduct) == USB_PRODUCT_YEDATA_FLASHBUSTERU) { @@ -2109,7 +2116,7 @@ umass_cam_action(struct cam_sim *sim, union ccb *ccb) /* the opcodes requiring a target. These should never occur. */ if (sc == NULL) { printf("%s:%d:%d:%d:func_code 0x%04x: " - "Invalid target\n", + "Invalid target (target needed)\n", DEVNAME_SIM, cam_sim_path(umass_sim), ccb->ccb_h.target_id, ccb->ccb_h.target_lun, ccb->ccb_h.func_code); @@ -2127,7 +2134,7 @@ umass_cam_action(struct cam_sim *sim, union ccb *ccb) */ if (sc == NULL && ccb->ccb_h.target_id != CAM_TARGET_WILDCARD) { DPRINTF(UDMASS_SCSI, ("%s:%d:%d:%d:func_code 0x%04x: " - "Invalid target\n", + "Invalid target (no wildcard)\n", DEVNAME_SIM, cam_sim_path(umass_sim), ccb->ccb_h.target_id, ccb->ccb_h.target_lun, ccb->ccb_h.func_code)); |