From khali@linux-fr.org Sun Sep 3 13:21:28 2006 Date: Sun, 3 Sep 2006 22:21:20 +0200 From: Jean Delvare To: Greg KH Cc: Linux I2C , David Hubbard Subject: [PATCH 03/13] i2c-isa: Fail adding driver on attach_adapter error Message-Id: <20060903222120.94f981da.khali@linux-fr.org> Content-Disposition: inline; filename=i2c-isa-return-attach_adapter.patch From: David Hubbard i2c-isa: Fail adding driver on attach_adapter error Signed-off-by: David Hubbard Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman --- drivers/i2c/busses/i2c-isa.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) --- gregkh-2.6.orig/drivers/i2c/busses/i2c-isa.c +++ gregkh-2.6/drivers/i2c/busses/i2c-isa.c @@ -89,9 +89,14 @@ int i2c_isa_add_driver(struct i2c_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)