|
@@ -86,21 +86,6 @@ static void ath10k_htc_notify_tx_completion(struct ath10k_htc_ep *ep,
|
|
|
ep->ep_ops.ep_tx_complete(ep->htc->ar, skb);
|
|
|
}
|
|
|
|
|
|
-/* assumes tx_lock is held */
|
|
|
-static bool ath10k_htc_ep_need_credit_update(struct ath10k_htc_ep *ep)
|
|
|
-{
|
|
|
- struct ath10k *ar = ep->htc->ar;
|
|
|
-
|
|
|
- if (!ep->tx_credit_flow_enabled)
|
|
|
- return false;
|
|
|
- if (ep->tx_credits >= ep->tx_credits_per_max_message)
|
|
|
- return false;
|
|
|
-
|
|
|
- ath10k_dbg(ar, ATH10K_DBG_HTC, "HTC: endpoint %d needs credit update\n",
|
|
|
- ep->eid);
|
|
|
- return true;
|
|
|
-}
|
|
|
-
|
|
|
static void ath10k_htc_prepare_tx_skb(struct ath10k_htc_ep *ep,
|
|
|
struct sk_buff *skb)
|
|
|
{
|
|
@@ -111,13 +96,10 @@ static void ath10k_htc_prepare_tx_skb(struct ath10k_htc_ep *ep,
|
|
|
hdr->eid = ep->eid;
|
|
|
hdr->len = __cpu_to_le16(skb->len - sizeof(*hdr));
|
|
|
hdr->flags = 0;
|
|
|
+ hdr->flags |= ATH10K_HTC_FLAG_NEED_CREDIT_UPDATE;
|
|
|
|
|
|
spin_lock_bh(&ep->htc->tx_lock);
|
|
|
hdr->seq_no = ep->seq_no++;
|
|
|
-
|
|
|
- if (ath10k_htc_ep_need_credit_update(ep))
|
|
|
- hdr->flags |= ATH10K_HTC_FLAG_NEED_CREDIT_UPDATE;
|
|
|
-
|
|
|
spin_unlock_bh(&ep->htc->tx_lock);
|
|
|
}
|
|
|
|