aboutsummaryrefslogtreecommitdiff
path: root/drivers/i2c/i2c-core.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-11-22 08:47:43 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2010-11-22 08:47:43 +0000
commit4ab0fbd3a29067e1540f05093ae4ed07645d18c8 (patch)
tree7f027e92e4578e293b20ac1f2c389600a795ea7f /drivers/i2c/i2c-core.c
parentf3c91c1deaf8493526d8216be94c33e963f00962 (diff)
parent3561d43fd289f590fdae672e5eb831b8d5cf0bf6 (diff)
Merge remote branch 'linus' into drm-intel-fixes
Diffstat (limited to 'drivers/i2c/i2c-core.c')
-rw-r--r--drivers/i2c/i2c-core.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
index d231f683f57..6b4cc567645 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);