diff --git a/drivers/firewire/fw-ohci.c b/drivers/firewire/fw-ohci.c
index ea52e150a8e62adeb49b74d881e6c4758140ac57..1b4b53d6d92596da38706a7fb65da1bdae853435 100644
--- a/drivers/firewire/fw-ohci.c
+++ b/drivers/firewire/fw-ohci.c
@@ -850,10 +850,8 @@ ohci_enable_phys_dma(struct fw_card *card, int node_id, int generation)
 			  1 << (node_id - 32));
 	}
 	flush_writes(ohci);
-
-	spin_unlock_irqrestore(&ohci->lock, flags);
-
  out:
+	spin_unlock_irqrestore(&ohci->lock, flags);
 	return retval;
 }