Pārlūkot izejas kodu

i2c-isa: Fail adding driver on attach_adapter error

i2c-isa: Fail adding driver on attach_adapter error

Signed-off-by: David Hubbard <david.c.hubbard@gmail.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
David Hubbard 19 gadi atpakaļ
vecāks
revīzija
8202632647
1 mainītis faili ar 8 papildinājumiem un 3 dzēšanām
  1. 8 3
      drivers/i2c/busses/i2c-isa.c

+ 8 - 3
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)