]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
wlcore: Fix memory leak in wlcore_cmd_wait_for_event_or_timeout
authorGustavo A. R. Silva <gustavo@embeddedor.com>
Thu, 28 Jun 2018 13:08:09 +0000 (08:08 -0500)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 4 Jul 2018 15:14:09 +0000 (18:14 +0300)
In case memory resources for *events_vector* were allocated, release
them before return.

Addresses-Coverity-ID: 1470194 ("Resource leak")
Fixes: 4ec7cece87b3 ("wlcore: Add missing PM call for wlcore_cmd_wait_for_event_or_timeout()")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ti/wlcore/cmd.c

index 836c6166380319bb142986be0deec225e0a92dbf..903968735a74202957c7a04ad563adb7c47feb80 100644 (file)
@@ -195,8 +195,7 @@ int wlcore_cmd_wait_for_event_or_timeout(struct wl1271 *wl,
        ret = pm_runtime_get_sync(wl->dev);
        if (ret < 0) {
                pm_runtime_put_noidle(wl->dev);
-
-               return ret;
+               goto free_vector;
        }
 
        do {
@@ -232,6 +231,7 @@ int wlcore_cmd_wait_for_event_or_timeout(struct wl1271 *wl,
 out:
        pm_runtime_mark_last_busy(wl->dev);
        pm_runtime_put_autosuspend(wl->dev);
+free_vector:
        kfree(events_vector);
        return ret;
 }