[PATCH 4/5] ath10k: clean up cont frag desc init code
Ben Greear
greearb at candelatech.com
Wed Jan 20 11:34:10 PST 2016
On 01/13/2016 06:01 AM, Michal Kazior wrote:
> This makes the code easier to extend and re-use.
>
> While at it fix _warn to _err. Other than that
> there are no functional changes.
>
> Signed-off-by: Michal Kazior <michal.kazior at tieto.com>
> ---
> drivers/net/wireless/ath/ath10k/htt_tx.c | 58 ++++++++++++++++++++++----------
> 1 file changed, 41 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath10k/htt_tx.c b/drivers/net/wireless/ath/ath10k/htt_tx.c
> index b3adadb5f824..41a9811820e8 100644
> --- a/drivers/net/wireless/ath/ath10k/htt_tx.c
> +++ b/drivers/net/wireless/ath/ath10k/htt_tx.c
> @@ -97,6 +97,41 @@ void ath10k_htt_tx_free_msdu_id(struct ath10k_htt *htt, u16 msdu_id)
> idr_remove(&htt->pending_tx, msdu_id);
> }
>
> +static void ath10k_htt_tx_free_cont_frag_desc(struct ath10k_htt *htt)
> +{
> + size_t size;
> +
> + if (!htt->frag_desc.vaddr)
> + return;
> +
> + size = htt->max_num_pending_tx * sizeof(struct htt_msdu_ext_desc);
> +
> + dma_free_coherent(htt->ar->dev,
> + size,
> + htt->frag_desc.vaddr,
> + htt->frag_desc.paddr);
> +}
> +
> +static int ath10k_htt_tx_alloc_cont_frag_desc(struct ath10k_htt *htt)
> +{
> + struct ath10k *ar = htt->ar;
> + size_t size;
> +
> + if (!ar->hw_params.continuous_frag_desc)
> + return 0;
> +
> + size = htt->max_num_pending_tx * sizeof(struct htt_msdu_ext_desc);
> + htt->frag_desc.vaddr = dma_alloc_coherent(ar->dev, size,
> + &htt->frag_desc.paddr,
> + GFP_DMA);
Did you mean to change GFP_KERNEL to GFP_DMA?
> - size = htt->max_num_pending_tx * sizeof(struct htt_msdu_ext_desc);
> - htt->frag_desc.vaddr = dma_alloc_coherent(ar->dev, size,
> - &htt->frag_desc.paddr,
> - GFP_KERNEL);
> - if (!htt->frag_desc.vaddr) {
> - ath10k_warn(ar, "failed to alloc fragment desc memory\n");
> - ret = -ENOMEM;
> + ret = ath10k_htt_tx_alloc_cont_frag_desc(htt);
> + if (ret) {
> + ath10k_err(ar, "failed to alloc cont frag desc: %d\n", ret);
> goto free_txbuf;
> }
Thanks,
Ben
--
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc http://www.candelatech.com
More information about the ath10k
mailing list