Make sure I2C adapters being registered have the required struct fields set. If they don't, problems will happen later. Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx> --- Randy, please apply this patch and check if it catches anything. drivers/i2c/i2c-core.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) --- linux-2.6.37-rc1.orig/drivers/i2c/i2c-core.c 2010-11-05 11:37:34.000000000 +0100 +++ linux-2.6.37-rc1/drivers/i2c/i2c-core.c 2010-11-05 11:54:34.000000000 +0100 @@ -848,6 +848,21 @@ static int i2c_register_adapter(struct i goto out_list; } + /* Sanity checks */ + if (adap->name[0] == '\0') { + pr_err("i2c-core: Attempt to register an adapter with " + "no name!\n"); + return -EINVAL; + } + if (!adap->algo) { + pr_err("i2c-core: Attempt to register adapter '%s' with " + "no algo!\n", adap->name); + return -EINVAL; + } + if (!adap->owner) + pr_warn("i2c-core: Attempt to register adapter '%s' with " + "no owner!\n", adap->name); + rt_mutex_init(&adap->bus_lock); mutex_init(&adap->userspace_clients_lock); INIT_LIST_HEAD(&adap->userspace_clients); -- Jean Delvare -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html