From: Jean Delvare Date: Mon, 15 Nov 2010 21:40:38 +0000 (+0100) Subject: i2c: Sanity checks on adapter registration X-Git-Tag: v2.6.37-rc2~4^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2236baa75f704851d3cd3310569058151acb1f06;p=platform%2Fkernel%2Flinux-3.10.git i2c: Sanity checks on adapter registration 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 --- diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c index d231f68..6b4cc56 100644 --- a/drivers/i2c/i2c-core.c +++ b/drivers/i2c/i2c-core.c @@ -848,6 +848,18 @@ static int i2c_register_adapter(struct i2c_adapter *adap) goto out_list; } + /* Sanity checks */ + if (unlikely(adap->name[0] == '\0')) { + pr_err("i2c-core: Attempt to register an adapter with " + "no name!\n"); + return -EINVAL; + } + if (unlikely(!adap->algo)) { + pr_err("i2c-core: Attempt to register adapter '%s' with " + "no algo!\n", adap->name); + return -EINVAL; + } + rt_mutex_init(&adap->bus_lock); mutex_init(&adap->userspace_clients_lock); INIT_LIST_HEAD(&adap->userspace_clients);