Messages in this thread Patch in this message | | | Date | Wed, 04 Apr 2001 16:47:16 +0100 | From | Tony Hoyle <> | Subject | 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 <tmh@magenta-netlogic.com> Organization: Magenta Logic To: linux-kernel@vger.kernel.org CC: linux-usb-devel@lists.sourceforge.net
This fixes a lockup when calling the USBDEVFS_SUBMITURB ioctl in an SMP kernel.
Tony
-- Don't click on this sig - a cyberwoozle will eat your underwear.
tmh@magenta-netlogic.com http://www.nothing-on.tv
--- devio.c.old Fri Mar 30 02:22:32 2001 +++ devio.c Fri Mar 30 02:12:09 2001 @@ -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
| |