diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-11-05 23:30:12 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-11-05 23:30:12 +0100 |
commit | bd060ac0f6b3442317b4f1d7ea0ff2c9b3d977a0 (patch) | |
tree | 846c8ffc8ec147365f496b6942e0cb16f3b70a1b | |
parent | Merge branches 'sched-urgent-for-linus' and 'core-urgent-for-linus' of git://... (diff) | |
parent | i2c: core: fix NULL pointer dereference under race condition (diff) | |
download | linux-bd060ac0f6b3442317b4f1d7ea0ff2c9b3d977a0.tar.xz linux-bd060ac0f6b3442317b4f1d7ea0ff2c9b3d977a0.zip |
Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c fix from Wolfram Sang:
"A bugfix for the I2C core fixing a (rare) race condition"
* 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
i2c: core: fix NULL pointer dereference under race condition
-rw-r--r-- | drivers/i2c/i2c-core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c index 1704fc84d647..b432b64e307a 100644 --- a/drivers/i2c/i2c-core.c +++ b/drivers/i2c/i2c-core.c @@ -2179,6 +2179,7 @@ int i2c_register_driver(struct module *owner, struct i2c_driver *driver) /* add the driver to the list of i2c drivers in the driver core */ driver->driver.owner = owner; driver->driver.bus = &i2c_bus_type; + INIT_LIST_HEAD(&driver->clients); /* When registration returns, the driver core * will have called probe() for all matching-but-unbound devices. @@ -2189,7 +2190,6 @@ int i2c_register_driver(struct module *owner, struct i2c_driver *driver) pr_debug("driver [%s] registered\n", driver->driver.name); - INIT_LIST_HEAD(&driver->clients); /* Walk the adapters that are already present */ i2c_for_each_dev(driver, __process_new_driver); |