[PATCH] USB speedtouch: don't race the tasklets

From: Duncan Sands (baldrick@wanadoo.fr)
Date: Fri Feb 28 2003 - 04:12:52 EST


 speedtouch.c | 4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff -Nru a/drivers/usb/misc/speedtouch.c b/drivers/usb/misc/speedtouch.c
--- a/drivers/usb/misc/speedtouch.c Fri Feb 28 10:08:32 2003
+++ b/drivers/usb/misc/speedtouch.c Fri Feb 28 10:08:32 2003
@@ -326,10 +326,10 @@
 
         dbg ("udsl_complete_receive entered (urb 0x%p, status %d)", urb, urb->status);
 
- tasklet_schedule (&instance->receive_tasklet);
         /* may not be in_interrupt() */
         spin_lock_irqsave (&instance->completed_receivers_lock, flags);
         list_add_tail (&rcv->list, &instance->completed_receivers);
+ tasklet_schedule (&instance->receive_tasklet);
         spin_unlock_irqrestore (&instance->completed_receivers_lock, flags);
 }
 
@@ -489,11 +489,11 @@
 
         dbg ("udsl_complete_send entered (urb 0x%p, status %d)", urb, urb->status);
 
- tasklet_schedule (&instance->send_tasklet);
         /* may not be in_interrupt() */
         spin_lock_irqsave (&instance->send_lock, flags);
         list_add (&snd->list, &instance->spare_senders);
         list_add (&snd->buffer->list, &instance->spare_buffers);
+ tasklet_schedule (&instance->send_tasklet);
         spin_unlock_irqrestore (&instance->send_lock, flags);
 }
 

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Feb 28 2003 - 22:00:47 EST