Commit 7195c874 authored by Dan Carpenter's avatar Dan Carpenter Committed by Kalle Valo

ath11k: fix up some error paths

There are two error paths where "ret" wasn't set.  Also one error path
we set the error code to -EINVAL but we should just preserve the error
code from ath11k_hal_srng_get_entrysize().  That function only returns
-EINVAL so this doesn't change anything.

I removed the "ret = 0;" initializers so that hopefully GCC will be able
to detect these sorts of bugs in the future.

Fixes: d5c65159 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 93634c61
...@@ -630,7 +630,7 @@ int ath11k_dp_tx_htt_srng_setup(struct ath11k_base *ab, u32 ring_id, ...@@ -630,7 +630,7 @@ int ath11k_dp_tx_htt_srng_setup(struct ath11k_base *ab, u32 ring_id,
dma_addr_t hp_addr, tp_addr; dma_addr_t hp_addr, tp_addr;
enum htt_srng_ring_type htt_ring_type; enum htt_srng_ring_type htt_ring_type;
enum htt_srng_ring_id htt_ring_id; enum htt_srng_ring_id htt_ring_id;
int ret = 0; int ret;
skb = ath11k_htc_alloc_skb(ab, len); skb = ath11k_htc_alloc_skb(ab, len);
if (!skb) if (!skb)
...@@ -642,9 +642,10 @@ int ath11k_dp_tx_htt_srng_setup(struct ath11k_base *ab, u32 ring_id, ...@@ -642,9 +642,10 @@ int ath11k_dp_tx_htt_srng_setup(struct ath11k_base *ab, u32 ring_id,
hp_addr = ath11k_hal_srng_get_hp_addr(ab, srng); hp_addr = ath11k_hal_srng_get_hp_addr(ab, srng);
tp_addr = ath11k_hal_srng_get_tp_addr(ab, srng); tp_addr = ath11k_hal_srng_get_tp_addr(ab, srng);
if (ath11k_dp_tx_get_ring_id_type(ab, mac_id, ring_id, ret = ath11k_dp_tx_get_ring_id_type(ab, mac_id, ring_id,
ring_type, &htt_ring_type, ring_type, &htt_ring_type,
&htt_ring_id)) &htt_ring_id);
if (ret)
goto err_free; goto err_free;
skb_put(skb, len); skb_put(skb, len);
...@@ -669,10 +670,8 @@ int ath11k_dp_tx_htt_srng_setup(struct ath11k_base *ab, u32 ring_id, ...@@ -669,10 +670,8 @@ int ath11k_dp_tx_htt_srng_setup(struct ath11k_base *ab, u32 ring_id,
HAL_ADDR_MSB_REG_SHIFT; HAL_ADDR_MSB_REG_SHIFT;
ret = ath11k_hal_srng_get_entrysize(ring_type); ret = ath11k_hal_srng_get_entrysize(ring_type);
if (ret < 0) { if (ret < 0)
ret = -EINVAL;
goto err_free; goto err_free;
}
ring_entry_sz = ret; ring_entry_sz = ret;
...@@ -817,7 +816,7 @@ int ath11k_dp_tx_htt_rx_filter_setup(struct ath11k_base *ab, u32 ring_id, ...@@ -817,7 +816,7 @@ int ath11k_dp_tx_htt_rx_filter_setup(struct ath11k_base *ab, u32 ring_id,
int len = sizeof(*cmd); int len = sizeof(*cmd);
enum htt_srng_ring_type htt_ring_type; enum htt_srng_ring_type htt_ring_type;
enum htt_srng_ring_id htt_ring_id; enum htt_srng_ring_id htt_ring_id;
int ret = 0; int ret;
skb = ath11k_htc_alloc_skb(ab, len); skb = ath11k_htc_alloc_skb(ab, len);
if (!skb) if (!skb)
...@@ -826,9 +825,10 @@ int ath11k_dp_tx_htt_rx_filter_setup(struct ath11k_base *ab, u32 ring_id, ...@@ -826,9 +825,10 @@ int ath11k_dp_tx_htt_rx_filter_setup(struct ath11k_base *ab, u32 ring_id,
memset(&params, 0, sizeof(params)); memset(&params, 0, sizeof(params));
ath11k_hal_srng_get_params(ab, srng, &params); ath11k_hal_srng_get_params(ab, srng, &params);
if (ath11k_dp_tx_get_ring_id_type(ab, mac_id, ring_id, ret = ath11k_dp_tx_get_ring_id_type(ab, mac_id, ring_id,
ring_type, &htt_ring_type, ring_type, &htt_ring_type,
&htt_ring_id)) &htt_ring_id);
if (ret)
goto err_free; goto err_free;
skb_put(skb, len); skb_put(skb, len);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment