Skip to contentSkip to conversation

Resend - [PATCH] Fix SMP lockup in usbdevfs

PATCH Tony Hoyle 1 participant 1 message Apr 4, 2001

lore
Share & tools
lore

Tony Hoyle

author
#0 lore raw

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