Messages in this thread Patch in this message |  | | From | Pan Bian <> | Subject | fsi: use put_device to release resource on error path | Date | Wed, 17 Apr 2019 23:27:11 +0800 |
| |
In the function fsi_slave_init, kfree is used to release slave if error occurs during set smode. Some fields of slave will not be released. Resulting in memory leak. Instread, put_device should be used to correctly release resources.
Fixes: d1dcd6782576("fsi: Add cfam char devices") Signed-off-by: Pan Bian <bianpan2016@163.com> --- drivers/fsi/fsi-core.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/fsi/fsi-core.c b/drivers/fsi/fsi-core.c index 2c31563..2bb6625 100644 --- a/drivers/fsi/fsi-core.c +++ b/drivers/fsi/fsi-core.c @@ -1056,8 +1056,7 @@ static int fsi_slave_init(struct fsi_master *master, int link, uint8_t id) dev_warn(&master->dev, "can't set smode on slave:%02x:%02x %d\n", link, id, rc); - kfree(slave); - return -ENODEV; + goto err_free; } if (master->link_config) master->link_config(master, link, -- 2.7.4
|  |