Resend - [PATCH] Fix SMP lockup in usbdevfs
This one didn't quite make 2.4.3, this time I've CC'd to AC.
I've been using this fix for a few days now & it's cleared up a lot of problems - although I'm not 100% sure why it worked (the memset should do the same job as the spin_lock_init surely?).
Tony
-------- Original Message --------
Subject: [PATCH] Fix SMP lockup in usbdevfs
Date: Fri, 30 Mar 2001 02:36:47 +0100
From: Tony Hoyle <[email protected]>
Organization: Magenta Logic
To: [email protected]
CC: [email protected]
This fixes a lockup when calling the USBDEVFS_SUBMITURB ioctl in an SMP kernel.
Tony
Signature · 3 lines
Don't click on this sig - a cyberwoozle will eat your underwear. [email protected] http://www.nothing-on.tv
devio.c renamed from devio.c.old +2 -1
@@ -175,6 +175,7 @@return NULL ;memset (as,0 , assize); as->urb.number_of_packets = numisoframes; +spin_lock_init (&as->urb.lock);return as; }
@@ -250,7 +251,7 @@struct dev_state *ps = as->ps;struct siginfo sinfo; -#if 1 +#if 0 printk (KERN_DEBUG "usbdevfs: async_completed: status %d errcount %d actlen %d pipe 0x%x\n" , urb->status, urb->error_count, urb->actual_length, urb->pipe);#endif