aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/usb/umass.c
diff options
context:
space:
mode:
authorNick Hibma <n_hibma@FreeBSD.org>2001-08-21 21:47:08 +0000
committerNick Hibma <n_hibma@FreeBSD.org>2001-08-21 21:47:08 +0000
commitd815b123a21c31332b35fea894ec6ce5016694e8 (patch)
tree78bde1731f98b8441c7315148c2845d6a4fdfaf4 /sys/dev/usb/umass.c
parent2d2857f4803ed2608ad91af2b69d0b0161f4dc2e (diff)
downloadsrc-d815b123a21c31332b35fea894ec6ce5016694e8.tar.gz
src-d815b123a21c31332b35fea894ec6ce5016694e8.zip
Add support for the Microtech CameraMate.
Submitted by: Phil Knaack <pknaack1@netscape.net> Submitted by: Jim Bryant <kc5vdj@yahoo.com>
Notes
Notes: svn path=/head/; revision=82104
Diffstat (limited to 'sys/dev/usb/umass.c')
-rw-r--r--sys/dev/usb/umass.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/dev/usb/umass.c b/sys/dev/usb/umass.c
index b85cd52f9c9f..f119519f5105 100644
--- a/sys/dev/usb/umass.c
+++ b/sys/dev/usb/umass.c
@@ -636,6 +636,15 @@ umass_match_proto(struct umass_softc *sc, usbd_interface_handle iface,
return(UMATCH_VENDOR_PRODUCT);
}
+ if (UGETW(dd->idVendor) == USB_VENDOR_MICROTECH
+ && UGETW(dd->idProduct) == USB_PRODUCT_MICROTECH_DPCM) {
+ /* the cameramate does not provide valid
+ class/subclass information. fake it. */
+ sc->proto = PROTO_SCSI | PROTO_CBI;
+ sc->quirks |= NO_TEST_UNIT_READY | NO_START_STOP;
+ return(UMATCH_VENDOR_PRODUCT);
+ }
+
id = usbd_get_interface_descriptor(iface);
if (id == NULL || id->bInterfaceClass != UCLASS_MASS)
return(UMATCH_NONE);