Explorar el Código

[PATCH] scx200_acb: Fix return on init error

The scx200_acb driver shouldn't return failure after initialization
if it successfully registered at least one i2c_adapter, else we are
leaking resources. The driver was OK in that respect up to 2.6.16, a
recent change broke it.

This is part of the fix to bug #6445.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Ben Gardner <bgardner@wabtec.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Jean Delvare hace 19 años
padre
commit
6f9c296388
Se han modificado 1 ficheros con 3 adiciones y 0 borrados
  1. 3 0
      drivers/i2c/busses/scx200_acb.c

+ 3 - 0
drivers/i2c/busses/scx200_acb.c

@@ -524,6 +524,9 @@ static int __init scx200_acb_init(void)
 	} else if (pci_dev_present(divil_pci))
 		rc = scx200_add_cs553x();
 
+	/* If at least one bus was created, init must succeed */
+	if (scx200_acb_list)
+		return 0;
 	return rc;
 }