Browse Source

i2c: Limit locking scope in i2c_detach_client

We only need to hold adapter->clist_lock when we touch the client list.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Jean Delvare 17 years ago
parent
commit
9ddced16bb
1 changed files with 2 additions and 1 deletions
  1. 2 1
      drivers/i2c/i2c-core.c

+ 2 - 1
drivers/i2c/i2c-core.c

@@ -768,9 +768,10 @@ int i2c_detach_client(struct i2c_client *client)
 
 
 	mutex_lock(&adapter->clist_lock);
 	mutex_lock(&adapter->clist_lock);
 	list_del(&client->list);
 	list_del(&client->list);
+	mutex_unlock(&adapter->clist_lock);
+
 	init_completion(&client->released);
 	init_completion(&client->released);
 	device_unregister(&client->dev);
 	device_unregister(&client->dev);
-	mutex_unlock(&adapter->clist_lock);
 	wait_for_completion(&client->released);
 	wait_for_completion(&client->released);
 
 
  out:
  out: