aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/i2c
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2008-11-28 15:24:38 +0100
committerJean Delvare <khali@linux-fr.org>2008-11-28 15:24:38 +0100
commit79b93e1359b1414b438f239c6e5e0ad91232e4c8 (patch)
tree0153ab798dca0f73c59297d161561c75364649da /drivers/i2c
parenti2c/isp1301_omap: Build fixes (diff)
downloadlinux-dev-79b93e1359b1414b438f239c6e5e0ad91232e4c8.tar.xz
linux-dev-79b93e1359b1414b438f239c6e5e0ad91232e4c8.zip
i2c: Remove i2c clients in reverse order
i2c clients should be removed in reverse order compared to the probe (actually: bind) order. This matters when several clients depend on each other. Signed-off-by: Jean Delvare <khali@linux-fr.org> Tested-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Diffstat (limited to 'drivers/i2c')
-rw-r--r--drivers/i2c/i2c-core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
index 5a485c22660a..c6a63f46bc15 100644
--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c
@@ -631,7 +631,7 @@ int i2c_del_adapter(struct i2c_adapter *adap)
/* detach any active clients. This must be done first, because
* it can fail; in which case we give up. */
- list_for_each_entry_safe(client, _n, &adap->clients, list) {
+ list_for_each_entry_safe_reverse(client, _n, &adap->clients, list) {
struct i2c_driver *driver;
driver = client->driver;