Message ID | 1474981314-15987-1-git-send-email-mohammed@qca.qualcomm.com (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Kalle Valo |
Headers | show |
Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com> wrote: > From: Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com> > > 'ath10k_htt_rx_h_unchain' is need to be called only if the return > value from 'ath10k_htt_rx_amsdu_pop' is 1('chained msdu's'), this > change makes it more explicit and avoids doing a skb_peek, fetching > rx descriptor pointer, checking rx msdu decap format for the case of > ret = 0 (unchained msdus). Found this change during code walk through, > not sure if this addresses any issue. > > Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com> Failed to apply to pending branch error: patch failed: drivers/net/wireless/ath/ath10k/htt_rx.c:1550 error: drivers/net/wireless/ath/ath10k/htt_rx.c: patch does not apply stg import: Diff does not apply cleanly Patch set to Changes Requested.
On Tue, Oct 04, 2016 at 05:30:17PM +0200, Kalle Valo wrote: > Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com> wrote: > > From: Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com> > > > > 'ath10k_htt_rx_h_unchain' is need to be called only if the return > > value from 'ath10k_htt_rx_amsdu_pop' is 1('chained msdu's'), this > > change makes it more explicit and avoids doing a skb_peek, fetching > > rx descriptor pointer, checking rx msdu decap format for the case of > > ret = 0 (unchained msdus). Found this change during code walk through, > > not sure if this addresses any issue. > > > > Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qti.qualcomm.com> > > Failed to apply to pending branch > > error: patch failed: drivers/net/wireless/ath/ath10k/htt_rx.c:1550 > error: drivers/net/wireless/ath/ath10k/htt_rx.c: patch does not apply > stg import: Diff does not apply cleanly [shafi] thanks, will rebase/fix this and send a v2 > > Patch set to Changes Requested. > > -- > https://patchwork.kernel.org/patch/9351833/ > > Documentation about submitting wireless patches and checking status > from patchwork: > > https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches >
diff --git a/drivers/net/wireless/ath/ath10k/htt_rx.c b/drivers/net/wireless/ath/ath10k/htt_rx.c index 7ae9349..e51dace 100644 --- a/drivers/net/wireless/ath/ath10k/htt_rx.c +++ b/drivers/net/wireless/ath/ath10k/htt_rx.c @@ -1459,8 +1459,7 @@ static int ath10k_unchain_msdu(struct sk_buff_head *amsdu) } static void ath10k_htt_rx_h_unchain(struct ath10k *ar, - struct sk_buff_head *amsdu, - bool chained) + struct sk_buff_head *amsdu) { struct sk_buff *first; struct htt_rx_desc *rxd; @@ -1471,9 +1470,6 @@ static void ath10k_htt_rx_h_unchain(struct ath10k *ar, decap = MS(__le32_to_cpu(rxd->msdu_start.common.info1), RX_MSDU_START_INFO1_DECAP_FORMAT); - if (!chained) - return; - /* FIXME: Current unchaining logic can only handle simple case of raw * msdu chaining. If decapping is other than raw the chaining may be * more complex and this isn't handled by the current code. Don't even @@ -1550,7 +1546,11 @@ static int ath10k_htt_rx_handle_amsdu(struct ath10k_htt *htt) } ath10k_htt_rx_h_ppdu(ar, &amsdu, rx_status, 0xffff); - ath10k_htt_rx_h_unchain(ar, &amsdu, ret > 0); + + /* only for ret = 1 indicates chained msdus */ + if (ret > 0) + ath10k_htt_rx_h_unchain(ar, &amsdu); + ath10k_htt_rx_h_filter(ar, &amsdu, rx_status); ath10k_htt_rx_h_mpdu(ar, &amsdu, rx_status); ath10k_htt_rx_h_deliver(ar, &amsdu, rx_status);