ath11k: fix missing free of skb on error return path
authorColin Ian King <colin.king@canonical.com>
Thu, 12 Dec 2019 19:42:51 +0000 (19:42 +0000)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 18 Dec 2019 17:53:46 +0000 (19:53 +0200)
The error handling when the call to ath11k_hal_srng_get_entrysize fails
leaks skb, fix this by returning via the err_free return path that will
ensure the skb is free'd.

Addresses-Coverity: ("Resource leak")
Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath11k/dp_tx.c

index e994021e935523de685f3d2c7f06ab73e82d0214..918305dda1061c66c0d93b9a24578a5fc4a158a8 100644 (file)
@@ -669,8 +669,10 @@ int ath11k_dp_tx_htt_srng_setup(struct ath11k_base *ab, u32 ring_id,
                                 HAL_ADDR_MSB_REG_SHIFT;
 
        ret = ath11k_hal_srng_get_entrysize(ring_type);
-       if (ret < 0)
-               return -EINVAL;
+       if (ret < 0) {
+               ret = -EINVAL;
+               goto err_free;
+       }
 
        ring_entry_sz = ret;