ChangeSet 1.1117.2.2, 2003/02/28 13:34:06-08:00, baldrick@wanadoo.fr [PATCH] USB speedtouch: don't race the tasklets drivers/usb/misc/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 14:48:35 2003 +++ b/drivers/usb/misc/speedtouch.c Fri Feb 28 14:48:35 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); }