On 4/23/19 11:56 PM, Petr Štetiar wrote:
Petr Štetiar <yn...@true.cz> [2019-04-05 18:03:11]:

Hi Ben,

Can you use gdb to print out the lines of code around that crash site in
t2h_msg_handler?

  [<87622780>] ath10k_htt_t2h_msg_handler+0x27e0/0x31dc [ath10k_core]
(gdb) l *ath10k_htt_t2h_msg_handler+0x27e0
0x227b0 is in ath10k_htt_rx_handle_amsdu 
(/ath10k-ct-2019-03-25-2e917efb/ath10k-4.19/htt_rx.c:374).
369     
370                     /* FIXME: we must report msdu payload since this is 
what caller
371                      * expects now
372                      */
373                     skb_put(msdu, offsetof(struct htt_rx_desc, 
msdu_payload));
374                     skb_pull(msdu, offsetof(struct htt_rx_desc, 
msdu_payload));
375     
376                     /*
377                      * Sanity check - confirm the HW is finished filling in 
the
378                      * rx data.

  [<8764901c>] ath10k_ce_rx_update_write_idx+0x9c/0xc4 [ath10k_core]
(gdb) l* ath10k_ce_rx_update_write_idx+0x9c
0x4904c is in ath10k_ce_rx_update_write_idx 
(/ath10k-ct-2019-03-25-2e917efb/ath10k-4.19/ce.c:763).
758             if (((cur_write_idx + nentries) & nentries_mask) == 
dest_ring->sw_index)
759                     nentries -= 1;
760     
761             write_index = CE_RING_IDX_ADD(nentries_mask, write_index, 
nentries);
762             ath10k_ce_dest_ring_write_index_set(ar, ctrl_addr, write_index);
763             dest_ring->write_index = write_index;
764     }
765     EXPORT_SYMBOL(ath10k_ce_rx_update_write_idx);
766     
767     int ath10k_ce_rx_post_buf(struct ath10k_ce_pipe *pipe, void *ctx,

I can figure out which message caused it I can add debugging and/or protective 
code.

Thanks and good luck!

1. http://lists.infradead.org/pipermail/ath10k/2019-April/013138.html

any luck with this bug? While doing some development on my Archer c7v5, I'm
hitting this bug several times a day, so I'm wondering if I could do something
in order to help fixing this. Thanks!

Thanks for the reminder, I had forgotten about this.

Please try this patch and see if you hit the new BUG_ON, let me know the
splat and ath10k_err output if so.  Also interesting if you hit the original
bug w/out hitting this new BUG_ON.

diff --git a/drivers/net/wireless/ath/ath10k/htt_rx.c 
b/drivers/net/wireless/ath/ath10k/htt_rx.c
index 108da3ceeff6..9ad21f3bb1d5 100644
--- a/drivers/net/wireless/ath/ath10k/htt_rx.c
+++ b/drivers/net/wireless/ath/ath10k/htt_rx.c
@@ -328,6 +328,12 @@ static inline struct sk_buff 
*ath10k_htt_rx_netbuf_pop(struct ath10k_htt *htt)
        htt->rx_ring.netbufs_ring[idx] = NULL;
        ath10k_htt_reset_paddrs_ring(htt, idx);

+       if (!msdu->data) {
+               ath10k_err(ar, "htt-rx-netbuf-pop, msdu: %p has null data.  idx: %i  
ring-size: %i  fill-count: %i",
+                          msdu, idx, htt->rx_ring.size_mask, 
htt->rx_ring.fill_cnt);
+               BUG_ON(1);
+       }
+
        idx++;
        idx &= htt->rx_ring.size_mask;
        htt->rx_ring.sw_rd_idx.msdu_payld = idx;

Thanks,
Ben


-- ynezz



--
Ben Greear <gree...@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com


_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to