Update of /cvsroot/alsa/alsa-kernel/usb
In directory sc8-pr-cvs1:/tmp/cvs-serv13649
Modified Files:
usbaudio.c usbmixer.c
Log Message:
- don't create controls from selector units with a single content.
- suppress the error if async-out or adaptive-in has only one EP.
don't create a sync pipe in this case.
Index: usbaudio.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/usb/usbaudio.c,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -r1.64 -r1.65
--- usbaudio.c 16 Sep 2003 06:55:18 -0000 1.64
+++ usbaudio.c 24 Sep 2003 13:12:50 -0000 1.65
@@ -1095,12 +1095,16 @@
subs->fill_max = 0;
/* we need a sync pipe in async OUT or adaptive IN mode */
+ /* check the number of EP, since some devices have broken
+ * descriptors which fool us. if it has only one EP,
+ * assume it as adaptive-out or sync-in.
+ */
attr = fmt->ep_attr & EP_ATTR_MASK;
- if ((is_playback && attr == EP_ATTR_ASYNC) ||
- (! is_playback && attr == EP_ATTR_ADAPTIVE)) {
- /* check endpoint */
- if (altsd->bNumEndpoints < 2 ||
- get_endpoint(alts, 1)->bmAttributes != 0x01 ||
+ if (((is_playback && attr == EP_ATTR_ASYNC) ||
+ (! is_playback && attr == EP_ATTR_ADAPTIVE)) &&
+ altsd->bNumEndpoints >= 2) {
+ /* check sync-pipe endpoint */
+ if (get_endpoint(alts, 1)->bmAttributes != 0x01 ||
get_endpoint(alts, 1)->bSynchAddress != 0) {
snd_printk(KERN_ERR "%d:%d:%d : invalid synch pipe\n",
dev->devnum, fmt->iface, fmt->altsetting);
Index: usbmixer.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/usb/usbmixer.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- usbmixer.c 20 Aug 2003 09:59:59 -0000 1.22
+++ usbmixer.c 24 Sep 2003 13:12:50 -0000 1.23
@@ -1358,6 +1358,9 @@
return -EINVAL;
}
+ if (num_ins == 1) /* only one ? nonsense! */
+ return 0;
+
if (check_ignored_ctl(state, unitid, 0))
return 0;
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog