diff options
author | Ben Greear <greearb@candelatech.com> | 2017-05-31 14:21:26 +0300 |
---|---|---|
committer | Kalle Valo <kvalo@qca.qualcomm.com> | 2017-06-01 15:57:12 +0300 |
commit | 4f40b423339b8121fbd5d6735bf6942020355c98 (patch) | |
tree | 463d4a2164d2c95b41694edd36811cf96ba402c7 /drivers/net | |
parent | 6bb099b088c70f76b5f34672a83d4452b1e3af36 (diff) | |
download | linux-stable-4f40b423339b8121fbd5d6735bf6942020355c98.tar.gz linux-stable-4f40b423339b8121fbd5d6735bf6942020355c98.tar.bz2 linux-stable-4f40b423339b8121fbd5d6735bf6942020355c98.zip |
ath10k: initialize nbytes to 0
ath10k firmware checks nbytes == 0 as part of determining if DMA
has completed successfully. To help make this work more often,
have the driver initialize nbytes to zero when freeing the descriptor
slot.
Signed-off-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/ath/ath10k/ce.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath10k/ce.c b/drivers/net/wireless/ath/ath10k/ce.c index ee1090ca2eac..51309563990f 100644 --- a/drivers/net/wireless/ath/ath10k/ce.c +++ b/drivers/net/wireless/ath/ath10k/ce.c @@ -594,6 +594,7 @@ int ath10k_ce_completed_send_next_nolock(struct ath10k_ce_pipe *ce_state, unsigned int nentries_mask = src_ring->nentries_mask; unsigned int sw_index = src_ring->sw_index; unsigned int read_index; + struct ce_desc *desc; if (src_ring->hw_index == sw_index) { /* @@ -623,6 +624,9 @@ int ath10k_ce_completed_send_next_nolock(struct ath10k_ce_pipe *ce_state, /* sanity */ src_ring->per_transfer_context[sw_index] = NULL; + desc = CE_SRC_RING_TO_DESC(src_ring->base_addr_owner_space, + sw_index); + desc->nbytes = 0; /* Update sw_index */ sw_index = CE_RING_IDX_INCR(nentries_mask, sw_index); |