From 3cb5b729660ede442fa0dfe6a8a5aa7ab47c1e32 Mon Sep 17 00:00:00 2001 From: kettenis Date: Fri, 9 Jan 2015 20:45:40 +0000 Subject: [PATCH] The "SunMicro Virtual Eth Device" found on Oracle's more recent SPARC systems 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 | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sys/dev/usb/if_urndis.c b/sys/dev/usb/if_urndis.c index 3c3a890edc9..d81f6487239 100644 --- a/sys/dev/usb/if_urndis.c +++ b/sys/dev/usb/if_urndis.c @@ -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 @@ -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); -- 2.20.1