On 11/18/2011 09:05 PM, Daniel Mack wrote:
sound/usb/pcm.c | 37 ++++++++++++++++++++++++++----------- 1 files changed, 26 insertions(+), 11 deletions(-)
diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c index 34adb17..3cf23e3 100644 --- a/sound/usb/pcm.c +++ b/sound/usb/pcm.c @@ -298,7 +298,7 @@ static int set_format(struct snd_usb_substream *subs, struct audioformat *fmt) struct usb_interface *iface; unsigned int ep, attr; int is_playback = subs->direction == SNDRV_PCM_STREAM_PLAYBACK;
- int err;
int err, implicit_fb = 0;
iface = usb_ifnum_to_if(dev, fmt->iface); if (WARN_ON(!iface))
@@ -323,25 +323,34 @@ static int set_format(struct snd_usb_substream *subs, struct audioformat *fmt) * assume it as adaptive-out or sync-in. */ attr = fmt->ep_attr & USB_ENDPOINT_SYNCTYPE;
- if (((is_playback && attr == USB_ENDPOINT_SYNC_ASYNC) ||
(! is_playback && attr == USB_ENDPOINT_SYNC_ADAPTIVE)) &&
altsd->bNumEndpoints >= 2) {
switch (subs->stream->chip->usb_id) {
case USB_ID(0x0763, 0x2080): /* M-Audio FastTrack Ultra */
case USB_ID(0x0763, 0x2081):
- switch (subs->stream->chip->usb_id) {
- case USB_ID(0x0763, 0x2080): /* M-Audio FastTrack Ultra */
- case USB_ID(0x0763, 0x2081):
if (is_playback) {
implicit_fb = 1; ep = 0x81; iface = usb_ifnum_to_if(dev, 2);
if (!iface || iface->num_altsetting == 0)
return -EINVAL;
}alts = &iface->altsetting[1]; goto add_sync_ep;
Eeks, something went wrong here in my patch rebasing/squashing. It shouldn't matter for the review though - I'll fix that up next time.