Message ID | 1483653641-8377-1-git-send-email-greearb@candelatech.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 4f40b423339b8121fbd5d6735bf6942020355c98 |
Delegated to: | Kalle Valo |
Headers | show |
Ben Greear <greearb@candelatech.com> wrote: > From: Ben Greear <greearb@candelatech.com> > > 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> This patch was in linux-wireless patchwork instance but not in ath10k instance, which means that the patch was not delivered to ath10k list. I guesss mailing list problems? But anyway, I didn't see any comments. Is this still valid?
On 05/22/2017 07:53 AM, Kalle Valo wrote: > Ben Greear <greearb@candelatech.com> wrote: >> From: Ben Greear <greearb@candelatech.com> >> >> 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> > > This patch was in linux-wireless patchwork instance but not in ath10k instance, > which means that the patch was not delivered to ath10k list. I guesss mailing > list problems? > > But anyway, I didn't see any comments. Is this still valid? From my reading of the firmware, it appears the patch is a good idea. It at least does not seem to make anything worse as it has not been implicated in any problems in our testing and it has been in our kernel since I posted the patch. So, I think it should be applied. Thanks, Ben
Ben Greear <greearb@candelatech.com> wrote: > 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> Patch applied to ath-next branch of ath.git, thanks. 4f40b423339b ath10k: initialize nbytes to 0
diff --git a/drivers/net/wireless/ath/ath10k/ce.c b/drivers/net/wireless/ath/ath10k/ce.c index da9998e..15bc7fb 100644 --- a/drivers/net/wireless/ath/ath10k/ce.c +++ b/drivers/net/wireless/ath/ath10k/ce.c @@ -595,6 +595,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) { /* @@ -624,6 +625,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);