The parameter of kfree function is NULL, so kfree code is useless, delete it. Therefore, goto expression is no longer needed, so simplify it. Signed-off-by: Zheng Yongjun <zhengyongjun3@xxxxxxxxxx> --- drivers/infiniband/core/cma_configfs.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/infiniband/core/cma_configfs.c b/drivers/infiniband/core/cma_configfs.c index 7ec4af2ed87a..51f59ed6916b 100644 --- a/drivers/infiniband/core/cma_configfs.c +++ b/drivers/infiniband/core/cma_configfs.c @@ -202,7 +202,6 @@ static int make_cma_ports(struct cma_dev_group *cma_dev_group, unsigned int i; unsigned int ports_num; struct cma_dev_port_group *ports; - int err; ibdev = cma_get_ib_dev(cma_dev); @@ -214,8 +213,8 @@ static int make_cma_ports(struct cma_dev_group *cma_dev_group, GFP_KERNEL); if (!ports) { - err = -ENOMEM; - goto free; + cma_dev_group->ports = NULL; + return -ENOMEM; } for (i = 0; i < ports_num; i++) { @@ -234,10 +233,6 @@ static int make_cma_ports(struct cma_dev_group *cma_dev_group, cma_dev_group->ports = ports; return 0; -free: - kfree(ports); - cma_dev_group->ports = NULL; - return err; } static void release_cma_dev(struct config_item *item) -- 2.22.0