mfd: 88pm860x: Fix possible NULL pointer dereference on i2c_new_dummy error
authorKrzysztof Kozlowski <k.kozlowski@samsung.com>
Tue, 11 Feb 2014 10:03:29 +0000 (11:03 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 30 Apr 2014 15:23:23 +0000 (16:23 +0100)
commit209e1b813d01a0a6fe12cecc9e15dbf40cdf12ad
tree94b071515346c68687fc25b8249188df08c9315d
parent758e64a56d3220edc5097d97cba1104530661fd2
mfd: 88pm860x: Fix possible NULL pointer dereference on i2c_new_dummy error

commit 159ce52a6b777fc82fa0b51c7440e25f9e4c6feb upstream.

During probe the driver allocates dummy I2C device for companion chip
with i2c_new_dummy() but it does not check the return value of this call.

In case of error (i2c_new_device(): memory allocation failure or I2C
address cannot be used) this function returns NULL which is later used
by regmap_init_i2c().

If i2c_new_dummy() fails for companion device, fail also the probe for
main MFD driver.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
[bwh: Backported to 3.2:
 - Adjust filename, context
 - Add kfree() before return, as driver is not using managed allocations]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/mfd/88pm860x-i2c.c