The "SunMicro Virtual Eth Device" found on Oracle's more recent SPARC systems
authorkettenis <kettenis@openbsd.org>
Fri, 9 Jan 2015 20:45:40 +0000 (20:45 +0000)
committerkettenis <kettenis@openbsd.org>
Fri, 9 Jan 2015 20:45:40 +0000 (20:45 +0000)
claims to support both RNDIS and CDC Ethernet.  However, RNDIS doesn't seem
to work, at least not with our driver.  So blacklist it here such that cdce(4)
takes over.

ok miod@, armani@ (both a while back)

sys/dev/usb/if_urndis.c

index 3c3a890..d81f648 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: if_urndis.c,v 1.51 2014/12/22 02:28:52 tedu Exp $ */
+/*     $OpenBSD: if_urndis.c,v 1.52 2015/01/09 20:45:40 kettenis Exp $ */
 
 /*
  * Copyright (c) 2010 Jonathan Armani <armani@openbsd.org>
@@ -1307,10 +1307,13 @@ urndis_lookup(usb_interface_descriptor_t *id)
 int
 urndis_match(struct device *parent, void *match, void *aux)
 {
-       struct usb_attach_arg           *uaa;
+       struct usb_attach_arg           *uaa = aux;
        usb_interface_descriptor_t      *id;
 
-       uaa = aux;
+       /* Advertises both RNDIS and CDC Ethernet, but RNDIS doesn't work. */
+       if (uaa->vendor == USB_VENDOR_FUJITSUCOMP &&
+           uaa->product == USB_PRODUCT_FUJITSUCOMP_VIRTETH)
+               return (UMATCH_NONE);
 
        if (!uaa->iface)
                return (UMATCH_NONE);