firewire: fw-cdev: reorder wakeup vs. spinlock
authorJay Fenlason <fenlason@redhat.com>
Mon, 8 Oct 2007 21:00:29 +0000 (17:00 -0400)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Tue, 16 Oct 2007 22:00:10 +0000 (00:00 +0200)
Signed-off-by: Jay Fenlason <fenlason@redhat.com>
Prompted by https://bugzilla.redhat.com/show_bug.cgi?id=323411

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
drivers/firewire/fw-cdev.c

index 290d9f036199e42f616cfddb85eea402860f5553..60f1a8924a953ac14c37068d286ebe2cf45959a5 100644 (file)
@@ -143,11 +143,10 @@ static void queue_event(struct client *client, struct event *event,
        event->v[1].size = size1;
 
        spin_lock_irqsave(&client->lock, flags);
-
        list_add_tail(&event->link, &client->event_list);
-       wake_up_interruptible(&client->wait);
-
        spin_unlock_irqrestore(&client->lock, flags);
+
+       wake_up_interruptible(&client->wait);
 }
 
 static int