[patch] dca: missing unlock in unregister_dca_providers()

From: Dan Carpenter
Date: Wed Nov 17 2010 - 00:11:25 EST


We return here with the lock held and IRQs disabled by mistake.

Signed-off-by: Dan Carpenter <error27@xxxxxxxxx>

diff --git a/drivers/dca/dca-core.c b/drivers/dca/dca-core.c
index b98c676..b4c95be 100644
--- a/drivers/dca/dca-core.c
+++ b/drivers/dca/dca-core.c
@@ -110,8 +110,10 @@ static void unregister_dca_providers(void)

/* at this point only one domain in the list is expected */
domain = list_first_entry(&dca_domains, struct dca_domain, node);
- if (!domain)
+ if (!domain) {
+ spin_unlock_irqrestore(&dca_lock, flags);
return;
+ }

list_for_each_entry_safe(dca, _dca, &domain->dca_providers, node) {
list_del(&dca->node);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/