On 28 July 2014 08:35, Varka Bhadram <varkabhadram@xxxxxxxxx> wrote: > On 07/28/2014 11:56 AM, Janusz Dziedzic wrote: >> >> Print sequence number, AMSDU_MORE flag and AC when additional >> debug enabled in RX path. This is usefull for debugging purpose. >> >> Signed-off-by: Janusz Dziedzic<janusz.dziedzic@xxxxxxxxx> >> --- >> drivers/net/wireless/ath/ath10k/htt_rx.c | 41 >> ++++++++++++++++++++++++++++-- >> 1 file changed, 39 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/net/wireless/ath/ath10k/htt_rx.c >> b/drivers/net/wireless/ath/ath10k/htt_rx.c >> index d80fcda..f7c8021 100644 >> --- a/drivers/net/wireless/ath/ath10k/htt_rx.c >> +++ b/drivers/net/wireless/ath/ath10k/htt_rx.c >> @@ -818,19 +818,55 @@ static bool ath10k_htt_rx_h_channel(struct ath10k >> *ar, >> return true; >> } >> +static const char * const tid_to_ac[] = { > > > No space required '*' and const. > Seems checkpatch didn't find this. > static const char *const tid_to_ac[] = { > > > >> + "BE", >> + "BK", >> + "BK", >> + "BE", >> + "VI", >> + "VI", >> + "VO", >> + "VO", >> +}; >> + >> +static char *ath10k_get_tid(struct ieee80211_hdr *hdr, char *out, size_t >> size) >> +{ >> + u8 *qc; >> + int tid; >> + >> + if (!ieee80211_is_data_qos(hdr->frame_control)) >> + return ""; > > > return NULL would be more readable...? > We don't need extra "(null)" in printf, empty string is what I expect here (same as other params in this dbg info). Anyway I can return "out" here and initialize as empty before calling ath10k_get_tid(). > >> + >> + qc = ieee80211_get_qos_ctl(hdr); >> + tid = *qc & IEEE80211_QOS_CTL_TID_MASK; >> + if (tid < 8) >> + snprintf(out, size, "tid %d (%s)", tid, tid_to_ac[tid]); >> + else >> + snprintf(out, size, "tid %d", tid); >> + >> + return out; >> +} >> + >> static void ath10k_process_rx(struct ath10k *ar, >> struct ieee80211_rx_status *rx_status, >> struct sk_buff *skb) >> { >> struct ieee80211_rx_status *status; >> + struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; >> + char tid[32]; >> status = IEEE80211_SKB_RXCB(skb); >> *status = *rx_status; >> ath10k_dbg(ATH10K_DBG_DATA, >> - "rx skb %p len %u %s%s%s%s%s %srate_idx %u vht_nss %u >> freq %u band %u flag 0x%x fcs-err %imic-err %i\n", >> + "rx skb %p len %u peer %pM %s %s sn %u %s%s%s%s%s >> %srate_idx %u vht_nss %u freq %u band %u flag 0x%x fcs-err %i mic-err %i >> amsdu-more %i\n", >> skb, >> skb->len, >> + ieee80211_get_SA(hdr), >> + ath10k_get_tid(hdr, tid, sizeof(tid)), >> + is_multicast_ether_addr(ieee80211_get_DA(hdr)) ? >> + "mcast" : "ucast", > > > should match open paranthesis... > > is_multicast_ether_addr(ieee80211_get_DA(hdr)) ? > > "mcast" : "ucast", > Could you describe this more (I didn't find clear description about this)? BR Janusz -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html