diff options
| -rw-r--r-- | drivers/i2c/i2c-core.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c index d231f683f576..6b4cc567645b 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) | |||
| 848 | goto out_list; | 848 | goto out_list; |
| 849 | } | 849 | } |
| 850 | 850 | ||
| 851 | /* Sanity checks */ | ||
| 852 | if (unlikely(adap->name[0] == '\0')) { | ||
| 853 | pr_err("i2c-core: Attempt to register an adapter with " | ||
| 854 | "no name!\n"); | ||
| 855 | return -EINVAL; | ||
| 856 | } | ||
| 857 | if (unlikely(!adap->algo)) { | ||
| 858 | pr_err("i2c-core: Attempt to register adapter '%s' with " | ||
| 859 | "no algo!\n", adap->name); | ||
| 860 | return -EINVAL; | ||
| 861 | } | ||
| 862 | |||
| 851 | rt_mutex_init(&adap->bus_lock); | 863 | rt_mutex_init(&adap->bus_lock); |
| 852 | mutex_init(&adap->userspace_clients_lock); | 864 | mutex_init(&adap->userspace_clients_lock); |
| 853 | INIT_LIST_HEAD(&adap->userspace_clients); | 865 | INIT_LIST_HEAD(&adap->userspace_clients); |
