]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ath9k_htc: release allocated buffer if timed out
authorNavid Emamdoost <navid.emamdoost@gmail.com>
Fri, 6 Sep 2019 18:26:03 +0000 (13:26 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Aug 2020 08:06:00 +0000 (10:06 +0200)
[ Upstream commit 853acf7caf10b828102d92d05b5c101666a6142b ]

In htc_config_pipe_credits, htc_setup_complete, and htc_connect_service
if time out happens, the allocated buffer needs to be released.
Otherwise there will be memory leak.

Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/ath/ath9k/htc_hst.c

index d2e062eaf56149b3ea76d452d75ecf81f9154a1b..f705f0e1cb5bed8b3139ba2e55b0e39b725e2fa3 100644 (file)
@@ -173,6 +173,7 @@ static int htc_config_pipe_credits(struct htc_target *target)
        time_left = wait_for_completion_timeout(&target->cmd_wait, HZ);
        if (!time_left) {
                dev_err(target->dev, "HTC credit config timeout\n");
+               kfree_skb(skb);
                return -ETIMEDOUT;
        }
 
@@ -208,6 +209,7 @@ static int htc_setup_complete(struct htc_target *target)
        time_left = wait_for_completion_timeout(&target->cmd_wait, HZ);
        if (!time_left) {
                dev_err(target->dev, "HTC start timeout\n");
+               kfree_skb(skb);
                return -ETIMEDOUT;
        }
 
@@ -280,6 +282,7 @@ int htc_connect_service(struct htc_target *target,
        if (!time_left) {
                dev_err(target->dev, "Service connection timeout for: %d\n",
                        service_connreq->service_id);
+               kfree_skb(skb);
                return -ETIMEDOUT;
        }