1
0
Fork 0

MLK-11908 mfd: MAX17135: don't free i2c device client

i2c device client shouldn't be freed by i2c device driver, there have
problems in below cases:
- one device match to different drivers, the second matched driver will
  cannot access i2c device client if it is freed by the first matched driver.
- one module driver insmod: the first insmod fail free client due to system
  low memory, after kswapd system free pages and has enough free pages, the
  second insmod will cause match failed.

Signed-off-by: Fugang Duan <B38611@freescale.com>
pull/10/head
Fugang Duan 2015-11-26 16:31:14 +08:00 committed by Jason Liu
parent 20843f00ee
commit 678a3a4175
1 changed files with 1 additions and 3 deletions

View File

@ -150,10 +150,8 @@ static int max17135_probe(struct i2c_client *client,
/* Create the PMIC data structure */
max17135 = kzalloc(sizeof(struct max17135), GFP_KERNEL);
if (max17135 == NULL) {
kfree(client);
if (max17135 == NULL)
return -ENOMEM;
}
/* Initialize the PMIC data structure */
i2c_set_clientdata(client, max17135);