From 4e13064ffbdcae7025c365c367af425f9b9f1ee8 Mon Sep 17 00:00:00 2001 From: David Hubbard Date: Sun, 3 Sep 2006 22:21:20 +0200 Subject: [PATCH] --- yaml --- r: 36106 b: refs/heads/master c: 8202632647278eba7223727dc442f49227c040d0 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/i2c/busses/i2c-isa.c | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 947abe524e32..610aa78b16e0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7d9db67febf67dd76329a9dd8f97cf4611a8ac2e +refs/heads/master: 8202632647278eba7223727dc442f49227c040d0 diff --git a/trunk/drivers/i2c/busses/i2c-isa.c b/trunk/drivers/i2c/busses/i2c-isa.c index d7486e586068..7a8d2c148a80 100644 --- a/trunk/drivers/i2c/busses/i2c-isa.c +++ b/trunk/drivers/i2c/busses/i2c-isa.c @@ -89,9 +89,14 @@ int i2c_isa_add_driver(struct i2c_driver *driver) dev_dbg(&isa_adapter.dev, "Driver %s registered\n", driver->driver.name); /* Now look for clients */ - driver->attach_adapter(&isa_adapter); - - return 0; + res = driver->attach_adapter(&isa_adapter); + if (res) { + dev_err(&isa_adapter.dev, + "Driver %s failed to attach adapter, unregistering\n", + driver->driver.name); + driver_unregister(&driver->driver); + } + return res; } int i2c_isa_del_driver(struct i2c_driver *driver)