ref: e3e91f0b2f2338ea3b1174a7748f5939472d64e4
parent: 943d7a42afa4c6e98a6a8e61c69969fc352a8f14
author: cinap_lenrek <cinap_lenrek@gmx.de>
date: Thu Sep 6 01:25:23 EDT 2012
nusb: handle 0 csp value on iface, remove unneeded configdev() calls after getdev()
--- a/sys/src/cmd/nusb/audio/audio.c
+++ b/sys/src/cmd/nusb/audio/audio.c
@@ -186,8 +186,6 @@
if((d = getdev(atoi(*argv))) == nil)
sysfatal("getdev: %r");- if(configdev(d) < 0)
- sysfatal("configdev: %r");audiodev = d;
/* parse descriptors, mark valid altc */
--- a/sys/src/cmd/nusb/ether/ether.c
+++ b/sys/src/cmd/nusb/ether/ether.c
@@ -853,8 +853,6 @@
usage();
d = getdev(atoi(*argv));
- if(configdev(d) < 0)
- sysfatal("configdev: %r");if(findendpoints(d, &ei, &eo) < 0)
sysfatal("no endpoints found");if(getmac(d) < 0)
--- a/sys/src/cmd/nusb/lib/parse.c
+++ b/sys/src/cmd/nusb/lib/parse.c
@@ -71,6 +71,8 @@
subclass = dip->bInterfaceSubClass;
proto = dip->bInterfaceProtocol;
ip->csp = CSP(class, subclass, proto);
+ if(ip->csp == 0)
+ ip->csp = d->csp;
if(d->csp == 0) /* use csp from 1st iface */
d->csp = ip->csp; /* if device has none */
if(d->class == 0)
--- a/sys/src/cmd/nusb/ptp/ptp.c
+++ b/sys/src/cmd/nusb/ptp/ptp.c
@@ -1017,8 +1017,6 @@
usage();
if((d = getdev(atoi(*argv))) == nil)
sysfatal("opendev: %r");- if(configdev(d) < 0)
- sysfatal("configdev: %r");if(findendpoints(d, &epin, &epout, &epint) < 0)
sysfatal("findendpoints: %r");--
⑨