[PATCH 1/3] ath10k: Add debugging for tx-credits usage.

Michal Kazior michal.kazior at tieto.com
Mon Mar 24 07:21:21 EDT 2014


On 24 March 2014 12:12, Kalle Valo <kvalo at qca.qualcomm.com> wrote:
> greearb at candelatech.com writes:
>
>> From: Ben Greear <greearb at candelatech.com>
>>
>> This helps track tx credits accounting and usage.  If
>> firmware hangs or otherwise fails to return credits, one
>> can more easily see the last few command types that
>> was send to the firmware.
>>
>> Signed-off-by: Ben Greear <greearb at candelatech.com>
>
> This patchset didn't apply, and the sha1 ids were useless so that 3-way
> merge didn't work. Can you rebase, please? And better yet if you rebase
> in top of my master branch.
>
>>  int ath10k_htc_send(struct ath10k_htc *htc,
>>                   enum ath10k_htc_ep_id eid,
>> -                 struct sk_buff *skb)
>> +                 struct sk_buff *skb, int dbg)
>>  {
>>       struct ath10k_htc_ep *ep = &htc->endpoint[eid];
>>       struct ath10k_skb_cb *skb_cb = ATH10K_SKB_CB(skb);
>> @@ -167,6 +167,10 @@ int ath10k_htc_send(struct ath10k_htc *htc,
>>                       goto err_pull;
>>               }
>>               ep->tx_credits -= credits;
>> +             ath10k_dbg(ATH10K_DBG_HTC,
>> +                        "ep %d used %d credits, remaining %d dbg %d (0x%x)\n",
>> +                        eid, credits, ep->tx_credits, dbg, dbg);
>> +
>>               spin_unlock_bh(&htc->tx_lock);
>>       }
>
> [...]
>
>> @@ -680,7 +684,7 @@ int ath10k_htc_connect_service(struct ath10k_htc *htc,
>>
>>       reinit_completion(&htc->ctl_resp);
>>
>> -     status = ath10k_htc_send(htc, ATH10K_HTC_EP_0, skb);
>> +     status = ath10k_htc_send(htc, ATH10K_HTC_EP_0, skb, __LINE__);
>
> Using line numbers in debug messages is very cumbersome. Some people
> cherry pick patches, have their own changes and whatnot which will make
> it more difficult to read the debug logs. Isn't there any better way to
> do this?

I would prefer to explicitly wait for tx credit replenishment in
ath10k_wmi_cmd_send() after a command is sent instead of all these
prints. This way you can get a full call trace if it times out.


Michał



More information about the ath10k mailing list