Messages in this thread Patch in this message |  | | From | David Woodhouse <> | Subject | Re: [PATCH] usb audio. | Date | Fri, 13 Oct 2000 15:08:59 +0100 |
| |
J.A.K.Mouw@ITS.TUDelft.NL said: > I had to patch it by hand into test10-pre2,
For the benefit of others who haven't yet tried it, you want this version again test10-pre2:
Index: drivers/usb/audio.c =================================================================== RCS file: /inst/cvs/linux/drivers/usb/audio.c,v retrieving revision 1.1.2.32 diff -u -r1.1.2.32 audio.c --- drivers/usb/audio.c 2000/10/13 10:24:59 1.1.2.32 +++ drivers/usb/audio.c 2000/10/13 14:04:41 @@ -1009,8 +1009,10 @@ } spin_lock_irqsave(&as->lock, flags); } - if (u->dma.count >= u->dma.dmasize && !u->dma.mapped) + if (u->dma.count >= u->dma.dmasize && !u->dma.mapped) { + spin_unlock_irqrestore(&as->lock, flags); return 0; + } u->flags |= FLG_RUNNING; if (!(u->flags & FLG_URB0RUNNING)) { urb = &u->durb[0].urb; @@ -1372,8 +1374,10 @@ } spin_lock_irqsave(&as->lock, flags); } - if (u->dma.count <= 0 && !u->dma.mapped) + if (u->dma.count <= 0 && !u->dma.mapped) { + spin_unlock_irqrestore(&as->lock, flags); return 0; + } u->flags |= FLG_RUNNING; if (!(u->flags & FLG_URB0RUNNING)) { urb = &u->durb[0].urb; @@ -2772,6 +2776,14 @@ init_waitqueue_head(&as->usbin.dma.wait); init_waitqueue_head(&as->usbout.dma.wait); spin_lock_init(&as->lock); + spin_lock_init(&as->usbin.durb[0].urb.lock); + spin_lock_init(&as->usbin.durb[1].urb.lock); + spin_lock_init(&as->usbin.surb[0].urb.lock); + spin_lock_init(&as->usbin.surb[1].urb.lock); + spin_lock_init(&as->usbout.durb[0].urb.lock); + spin_lock_init(&as->usbout.durb[1].urb.lock); + spin_lock_init(&as->usbout.surb[0].urb.lock); + spin_lock_init(&as->usbout.surb[1].urb.lock); as->state = s; as->usbin.interface = asifin; as->usbout.interface = asifout;
> but the noise is right and the machine doesn't lock.
Good.
> Only problem is that the sound has a lot of hickups and I get these > messages in my syslog:
I didn't see that. I think I _do_ have CONFIG_USB_BANDWIDTH enabled. What else do you have connected and what else were you using at the time? Does the kernel whinge?
I got hiccoughs while I was running with full debugging and a serial console, unsurprisingly :)
I also get hiccoughs if I try to read /proc/bus/usb/devices while the scanner is plugged in.
-- dwmw2
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |