regulator: max1586 - fix a memory leak in max1586_pmic_remove()
PATCH 1/1 regulator: max1586 - fix a memory leak in max1586_pmic_remove()
In max1586_pmic_probe(), we allocate memory for max1586. In max1586_pmic_remove(), current implementation only free rdev which is a member of struct max1586_data.
Thus, there is a small memory leak when we unload the module.
This patch fixes the memory leak by passing max1586 to i2c clientdata, and properly kfree(max1586) in max1586_pmic_remove().
--- drivers/regulator/max1586.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-)
drivers/regulator/max1586.c +5 -5
@@ -223,7 +223,7 @@ static int __devinit max1586_pmic_probe(struct i2c_client *client, } } -i2c_set_clientdata (client, rdev); +i2c_set_clientdata (client, max1586);dev_info (&client->dev,"Maxim 1586 regulator driver loaded\n" );return 0 ;
@@ -238,13 +238,13 @@ out: static int __devexit max1586_pmic_remove(struct i2c_client *client) { -struct regulator_dev **rdev =i2c_get_clientdata (client); +struct max1586_data *max1586 =i2c_get_clientdata (client);int i;for (i =0 ; i <=MAX1586_V6 ; i++) -if (rdev[i]) -regulator_unregister (rdev[i]); -kfree (rdev); +if (max1586->rdev[i]) +regulator_unregister (max1586->rdev[i]); +kfree (max1586);return 0 ; }
Signature · 1 line
1.5.4.3
Quoted 9 lines · Axel Lin
In
max1586_pmic_probe(), we allocate memory for max1586. Inmax1586_pmic_remove(), current implementation only free rdev which is a member of structmax1586_data.
Thus, there is a small memory leak when we unload the module.This patch fixes the memory leak by passing max1586 to i2c clientdata, and properly kfree(max1586) in
max1586_pmic_remove().Signed-off-by Axel Lin <[email protected]>
Like with the max8660-patch:
Signature · 2 lines
Pengutronix e.K. | Wolfram Sang | Industrial Linux Solutions | http://www.pengutronix.de/ |
Quoted 9 lines · Axel Lin
In
max1586_pmic_probe(), we allocate memory for max1586. Inmax1586_pmic_remove(), current implementation only free rdev which is a member of structmax1586_data.
Thus, there is a small memory leak when we unload the module.This patch fixes the memory leak by passing max1586 to i2c clientdata, and properly kfree(max1586) in
max1586_pmic_remove().Signed-off-by Axel Lin <[email protected]>
Quoted 9 lines · Axel Lin
In
max1586_pmic_probe(), we allocate memory for max1586. Inmax1586_pmic_remove(), current implementation only free rdev which is a member of structmax1586_data.
Thus, there is a small memory leak when we unload the module.This patch fixes the memory leak by passing max1586 to i2c clientdata, and properly kfree(max1586) in
max1586_pmic_remove().Signed-off-by Axel Lin <[email protected]>
Cheers.
--
Robert
Liam Girdwood
AppliedQuoted 5 lines · Axel Lin
In
max1586_pmic_probe(), we allocate memory for max1586. Inmax1586_pmic_remove(), current implementation only free rdev which is a member of structmax1586_data.
Thus, there is a small memory leak when we unload the module.
Quoted 7 lines
This patch fixes the memory leak by passing max1586 to i2c clientdata, and properly kfree(max1586) in
max1586_pmic_remove().Signed-off-by Axel Lin <[email protected]>--- drivers/regulator/max1586.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-)
Applied.
Thanks
Liam
Signature · 3 lines
Freelance Developer, SlimLogic Ltd ASoC and Voltage Regulator Maintainer. http://www.slimlogic.co.uk