summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStuart Henderson <sthen@cvs.openbsd.org>2011-11-09 21:45:51 +0000
committerStuart Henderson <sthen@cvs.openbsd.org>2011-11-09 21:45:51 +0000
commit25ff8bf652c6615d4bc334b341a7a74cc2016a92 (patch)
tree1607d30474f7209fb7768817e27c9aef272e80c6
parent2a105fd2dd33a5599b6b7da2bbdb7ce7321052c3 (diff)
Add support for UISUBCLASS_MOBILE_DIRECT_LINE_MODEL to cdce(4).
This is available with at least Ericsson-derived HSPA cards (e.g. Dell 5530/5540) and provides a nice alternative to using them in ppp mode. From Rivo Nurges (rix at estpak ee), ok jsg@
-rw-r--r--sys/dev/usb/if_cdce.c8
-rw-r--r--sys/dev/usb/usb.h3
2 files changed, 7 insertions, 4 deletions
diff --git a/sys/dev/usb/if_cdce.c b/sys/dev/usb/if_cdce.c
index bc5cccac63d..f7df1cdc0f6 100644
--- a/sys/dev/usb/if_cdce.c
+++ b/sys/dev/usb/if_cdce.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_cdce.c,v 1.50 2011/07/03 15:47:17 matthew Exp $ */
+/* $OpenBSD: if_cdce.c,v 1.51 2011/11/09 21:45:50 sthen Exp $ */
/*
* Copyright (c) 1997, 1998, 1999, 2000-2003 Bill Paul <wpaul@windriver.com>
@@ -146,8 +146,10 @@ cdce_match(struct device *parent, void *match, void *aux)
if (cdce_lookup(uaa->vendor, uaa->product) != NULL)
return (UMATCH_VENDOR_PRODUCT);
- if (id->bInterfaceClass == UICLASS_CDC && id->bInterfaceSubClass ==
- UISUBCLASS_ETHERNET_NETWORKING_CONTROL_MODEL)
+ if (id->bInterfaceClass == UICLASS_CDC &&
+ (id->bInterfaceSubClass ==
+ UISUBCLASS_ETHERNET_NETWORKING_CONTROL_MODEL ||
+ id->bInterfaceSubClass == UISUBCLASS_MOBILE_DIRECT_LINE_MODEL))
return (UMATCH_IFACECLASS_GENERIC);
return (UMATCH_NONE);
diff --git a/sys/dev/usb/usb.h b/sys/dev/usb/usb.h
index 5542b65b303..bf9e7290a67 100644
--- a/sys/dev/usb/usb.h
+++ b/sys/dev/usb/usb.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: usb.h,v 1.37 2011/03/04 23:55:32 kettenis Exp $ */
+/* $OpenBSD: usb.h,v 1.38 2011/11/09 21:45:50 sthen Exp $ */
/* $NetBSD: usb.h,v 1.69 2002/09/22 23:20:50 augustss Exp $ */
/* $FreeBSD: src/sys/dev/usb/usb.h,v 1.14 1999/11/17 22:33:46 n_hibma Exp $ */
@@ -412,6 +412,7 @@ typedef struct {
#define UISUBCLASS_CAPI_CONTROLMODEL 5
#define UISUBCLASS_ETHERNET_NETWORKING_CONTROL_MODEL 6
#define UISUBCLASS_ATM_NETWORKING_CONTROL_MODEL 7
+#define UISUBCLASS_MOBILE_DIRECT_LINE_MODEL 10
#define UIPROTO_CDC_AT 1
#define UICLASS_HID 0x03