tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git pending head: f39910e66f150e60eaceb8a61a59e2d289e0b881 commit: b5e79a6ebd27a7dc2ebee0cf5078d682b7e15559 [77/144] wil6210: add support for enhanced DMA RX data flows config: x86_64-randconfig-s3-05210050 (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: git checkout b5e79a6ebd27a7dc2ebee0cf5078d682b7e15559 # save the attached .config to linux build tree make ARCH=x86_64
Note: it may well be a FALSE warning. FWIW you are at least aware of it now. http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings All warnings (new ones prefixed by >>): Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/wil6210.h:WIL_GET_BITS Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/wil6210.h:wil_w Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/wil6210.h:wil_hex_dump_txrx Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_skb_rxstatus Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_rx_status_get_length Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_rx_status_get_mcs Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_rx_status_get_flow_id Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_rx_status_get_mcast Cyclomatic Complexity 2 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_rx_status_get_cid Cyclomatic Complexity 2 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_rx_status_get_tid Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_rx_status_get_desc_rdy_bit Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_rx_status_get_eop Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_rx_status_get_buff_id Cyclomatic Complexity 3 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_rx_status_get_data_offset Cyclomatic Complexity 2 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_rx_status_get_frame_type Cyclomatic Complexity 2 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_rx_status_get_fc1 Cyclomatic Complexity 2 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_rx_status_get_seq Cyclomatic Complexity 2 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_rx_status_get_mid Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_rx_status_get_error Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_rx_status_get_l2_rx_status Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_rx_status_get_l3_rx_status Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_rx_status_get_l4_rx_status Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_rx_status_get_security Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_rx_status_get_key_id Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_ring_next_head Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_desc_set_addr_edma Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_tx_desc_get_addr_edma Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.h:wil_rx_desc_get_addr_edma Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx.h:wil_ring_is_empty Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx.h:wil_ring_next_tail Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx.h:wil_ring_advance_head Cyclomatic Complexity 4 drivers/net/wireless/ath/wil6210/txrx.h:wil_need_txstat Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx.h:wil_ring_used_tx Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx.h:wil_ring_avail_tx Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx.h:wil_is_back_req Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx.h:wil_val_in_range Cyclomatic Complexity 3 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_find_free_sring Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_get_next_rx_status_msg Cyclomatic Complexity 2 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_sring_advance_swhead Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_get_reorder_params_edma Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_get_netif_rx_params_edma Cyclomatic Complexity 4 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_is_rx_idle_edma Cyclomatic Complexity 2 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_rx_buf_len_init_edma Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_tx_desc_map_edma Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_get_next_tx_status_msg Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_tx_desc_offload_setup_tso_edma Cyclomatic Complexity 3 drivers/net/wireless/ath/wil6210/txrx_edma.c:sring_order_set Cyclomatic Complexity 8 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_rx_edma_check_errors Cyclomatic Complexity 2 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_rx_data_free Cyclomatic Complexity 2 include/linux/dma-mapping.h:dma_unmap_single_attrs Cyclomatic Complexity 1 include/linux/dma-mapping.h:dma_map_single_attrs Cyclomatic Complexity 2 include/linux/dma-mapping.h:dma_unmap_page_attrs Cyclomatic Complexity 3 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_tx_desc_unmap_edma Cyclomatic Complexity 4 include/linux/dma-mapping.h:dma_free_attrs Cyclomatic Complexity 1 include/linux/dma-mapping.h:dma_free_coherent Cyclomatic Complexity 3 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_sring_free Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_tx_fini_edma Cyclomatic Complexity 1 include/linux/dma-mapping.h:dma_map_page_attrs Cyclomatic Complexity 1 include/linux/skbuff.h:skb_frag_dma_map Cyclomatic Complexity 5 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_tx_tso_gen_desc Cyclomatic Complexity 10 drivers/net/wireless/ath/wil6210/trace.h:trace_wil6210_rx_status Cyclomatic Complexity 10 drivers/net/wireless/ath/wil6210/trace.h:trace_wil6210_tx_status Cyclomatic Complexity 2 include/linux/list.h:__list_del_entry Cyclomatic Complexity 2 include/linux/list.h:__list_add Cyclomatic Complexity 1 include/linux/list.h:list_add Cyclomatic Complexity 1 include/linux/list.h:list_move Cyclomatic Complexity 4 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_move_all_rx_buff_to_free_list Cyclomatic Complexity 5 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_check_bar Cyclomatic Complexity 20 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_sring_reap_rx_edma Cyclomatic Complexity 14 drivers/net/wireless/ath/wil6210/txrx_edma.c:__wil_tx_ring_tso_edma Cyclomatic Complexity 1 include/linux/skbuff.h:netdev_alloc_skb Cyclomatic Complexity 1 include/linux/skbuff.h:dev_alloc_skb Cyclomatic Complexity 5 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_ring_alloc_skb_edma Cyclomatic Complexity 4 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_rx_refill_edma Cyclomatic Complexity 1 include/linux/netdevice.h:dev_consume_skb_any Cyclomatic Complexity 1 include/linux/netdevice.h:dev_kfree_skb_any Cyclomatic Complexity 3 drivers/net/wireless/ath/wil6210/txrx.h:wil_consume_skb Cyclomatic Complexity 2 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_free_rx_buff_arr Cyclomatic Complexity 5 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_rx_crypto_check_edma Cyclomatic Complexity 6 include/linux/dma-mapping.h:dma_alloc_attrs Cyclomatic Complexity 1 include/linux/dma-mapping.h:dma_alloc_coherent Cyclomatic Complexity 1 include/linux/dma-mapping.h:dma_zalloc_coherent Cyclomatic Complexity 3 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_sring_alloc Cyclomatic Complexity 3 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_init_rx_sring Cyclomatic Complexity 5 include/linux/slab.h:kmalloc_array Cyclomatic Complexity 1 include/linux/slab.h:kcalloc Cyclomatic Complexity 7 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_ring_alloc_desc_ring Cyclomatic Complexity 3 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_init_rx_buff_arr Cyclomatic Complexity 4 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_tx_init_edma Cyclomatic Complexity 1 include/linux/lockdep.h:lock_is_held Cyclomatic Complexity 9 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_ring_free_edma Cyclomatic Complexity 2 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_rx_fini_edma Cyclomatic Complexity 3 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_init_rx_desc_ring Cyclomatic Complexity 14 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_rx_init_edma Cyclomatic Complexity 7 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_ring_init_bcast_edma Cyclomatic Complexity 9 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_ring_init_tx_edma Cyclomatic Complexity 8 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_rx_handle_edma Cyclomatic Complexity 15 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_tx_sring_handler Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.c:wil_init_txrx_ops_edma drivers/net/wireless/ath/wil6210/txrx_edma.c: In function 'wil_rx_handle_edma': >> drivers/net/wireless/ath/wil6210/txrx_edma.c:815:7: warning: 'stats' may be >> used uninitialized in this function [-Wmaybe-uninitialized] stats->rx_non_data_frame++; ~~~~~^~~~~~~~~~~~~~~~~~~ drivers/net/wireless/ath/wil6210/txrx_edma.c:908:24: note: 'stats' was declared here struct wil_net_stats *stats; ^~~~~ Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.c:_GLOBAL__sub_D_65535_0_use_compressed_rx_status Cyclomatic Complexity 1 drivers/net/wireless/ath/wil6210/txrx_edma.c:_GLOBAL__sub_I_65535_1_use_compressed_rx_status vim +/stats +815 drivers/net/wireless/ath/wil6210/txrx_edma.c 785 786 /* This function is used only for RX SW reorder */ 787 static int wil_check_bar(struct wil6210_priv *wil, void *msg, int cid, 788 struct sk_buff *skb, struct wil_net_stats *stats) 789 { 790 u8 ftype; 791 u8 fc1; 792 int mid; 793 int tid; 794 u16 seq; 795 struct wil6210_vif *vif; 796 797 ftype = wil_rx_status_get_frame_type(msg); 798 if (ftype == IEEE80211_FTYPE_DATA) 799 return 0; 800 801 fc1 = wil_rx_status_get_fc1(msg); 802 mid = wil_rx_status_get_mid(msg); 803 tid = wil_rx_status_get_tid(msg); 804 seq = le16_to_cpu(wil_rx_status_get_seq(msg)); 805 vif = wil->vifs[mid]; 806 807 if (unlikely(!vif)) { 808 wil_dbg_txrx(wil, "RX descriptor with invalid mid %d", mid); 809 return -EAGAIN; 810 } 811 812 wil_dbg_txrx(wil, 813 "Non-data frame FC[7:0] 0x%02x MID %d CID %d TID %d Seq 0x%03x\n", 814 fc1, mid, cid, tid, seq); > 815 stats->rx_non_data_frame++; 816 if (wil_is_back_req(fc1)) { 817 wil_dbg_txrx(wil, 818 "BAR: MID %d CID %d TID %d Seq 0x%03x\n", 819 mid, cid, tid, seq); 820 wil_rx_bar(wil, vif, cid, tid, seq); 821 } else { 822 u32 sz = use_compressed_rx_status ? 823 sizeof(struct wil_rx_status_compressed) : 824 sizeof(struct wil_rx_status_extended); 825 826 /* print again all info. One can enable only this 827 * without overhead for printing every Rx frame 828 */ 829 wil_dbg_txrx(wil, 830 "Unhandled non-data frame FC[7:0] 0x%02x MID %d CID %d TID %d Seq 0x%03x\n", 831 fc1, mid, cid, tid, seq); 832 wil_hex_dump_txrx("RxS ", DUMP_PREFIX_NONE, 32, 4, 833 (const void *)msg, sz, false); 834 wil_hex_dump_txrx("Rx ", DUMP_PREFIX_OFFSET, 16, 1, 835 skb->data, skb_headlen(skb), false); 836 } 837 838 return -EAGAIN; 839 } 840 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip
_______________________________________________ ath10k mailing list [email protected] http://lists.infradead.org/mailman/listinfo/ath10k
