diff options
Diffstat (limited to 'drivers/i2c')
-rw-r--r-- | drivers/i2c/busses/i2c-isa.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/i2c/busses/i2c-isa.c b/drivers/i2c/busses/i2c-isa.c index d7486e586068..7a8d2c148a80 100644 --- a/drivers/i2c/busses/i2c-isa.c +++ b/drivers/i2c/busses/i2c-isa.c | |||
@@ -89,9 +89,14 @@ int i2c_isa_add_driver(struct i2c_driver *driver) | |||
89 | dev_dbg(&isa_adapter.dev, "Driver %s registered\n", driver->driver.name); | 89 | dev_dbg(&isa_adapter.dev, "Driver %s registered\n", driver->driver.name); |
90 | 90 | ||
91 | /* Now look for clients */ | 91 | /* Now look for clients */ |
92 | driver->attach_adapter(&isa_adapter); | 92 | res = driver->attach_adapter(&isa_adapter); |
93 | 93 | if (res) { | |
94 | return 0; | 94 | dev_err(&isa_adapter.dev, |
95 | "Driver %s failed to attach adapter, unregistering\n", | ||
96 | driver->driver.name); | ||
97 | driver_unregister(&driver->driver); | ||
98 | } | ||
99 | return res; | ||
95 | } | 100 | } |
96 | 101 | ||
97 | int i2c_isa_del_driver(struct i2c_driver *driver) | 102 | int i2c_isa_del_driver(struct i2c_driver *driver) |