diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/firewire/fw-sbp2.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/firewire/fw-sbp2.c b/drivers/firewire/fw-sbp2.c index 238730f75db1..7ecc154a8274 100644 --- a/drivers/firewire/fw-sbp2.c +++ b/drivers/firewire/fw-sbp2.c | |||
@@ -361,11 +361,12 @@ complete_transaction(struct fw_card *card, int rcode, | |||
361 | orb->rcode = rcode; | 361 | orb->rcode = rcode; |
362 | if (orb->rcode != RCODE_COMPLETE) { | 362 | if (orb->rcode != RCODE_COMPLETE) { |
363 | list_del(&orb->link); | 363 | list_del(&orb->link); |
364 | spin_unlock_irqrestore(&card->lock, flags); | ||
364 | orb->callback(orb, NULL); | 365 | orb->callback(orb, NULL); |
366 | } else { | ||
367 | spin_unlock_irqrestore(&card->lock, flags); | ||
365 | } | 368 | } |
366 | 369 | ||
367 | spin_unlock_irqrestore(&card->lock, flags); | ||
368 | |||
369 | kref_put(&orb->kref, free_orb); | 370 | kref_put(&orb->kref, free_orb); |
370 | } | 371 | } |
371 | 372 | ||