summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2012-02-09 01:16:40 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2012-02-09 01:16:40 +0000
commitaf0361aa087b752a9db3bda58dd87ca1d98c539a (patch)
treec937c715676bab677bdb425f516b93f2311e4dfb /sys
parentab1ccbfd5aac71a898f02c8cfb48c30c3758d3cd (diff)
Match on Atmel AT91 CDC ACM explicitly as it reports a protocol of 0
so fails to match on class. Tested by LEVAI Daniel. ok deraadt@
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/usb/umodem.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/dev/usb/umodem.c b/sys/dev/usb/umodem.c
index 0fc7bfee213..2300b905ae3 100644
--- a/sys/dev/usb/umodem.c
+++ b/sys/dev/usb/umodem.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: umodem.c,v 1.44 2011/07/03 15:47:17 matthew Exp $ */
+/* $OpenBSD: umodem.c,v 1.45 2012/02/09 01:16:39 jsg Exp $ */
/* $NetBSD: umodem.c,v 1.45 2002/09/23 05:51:23 simonb Exp $ */
/*
@@ -226,6 +226,12 @@ umodem_match(struct device *parent, void *match, void *aux)
return (ret);
ret = UMATCH_NONE;
+
+ /* protocol of 0 so won't match the test below */
+ if (UGETW(dd->idVendor) == USB_VENDOR_ATMEL &&
+ UGETW(dd->idProduct) == USB_PRODUCT_ATMEL_AT91_CDC_ACM)
+ ret = UMATCH_VENDOR_PRODUCT;
+
if (UGETW(dd->idVendor) == USB_VENDOR_KYOCERA &&
UGETW(dd->idProduct) == USB_PRODUCT_KYOCERA_AHK3001V &&
id->bInterfaceNumber == 0)