[EMAIL PROTECTED] 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 [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to