From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============3799070717032371235==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: Re: [PATCH 18/23] wilc1000: split huge tx handler into subfunctions Date: Mon, 20 Dec 2021 22:38:41 +0800 Message-ID: <202112202228.fK2QXc0W-lkp@intel.com> In-Reply-To: <20211218235404.3963475-19-davidm@egauge.net> List-Id: --===============3799070717032371235== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi David, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on kvalo-wireless-drivers-next/master] [also build test WARNING on kvalo-wireless-drivers/master v5.16-rc6 next-20= 211217] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/David-Mosberger-Tang/wilc1= 000-rework-tx-path-to-use-sk_buffs-throughout/20211219-075737 base: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-driv= ers-next.git master config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/2021122= 0/202112202228.fK2QXc0W-lkp(a)intel.com/config) compiler: alpha-linux-gcc (GCC) 11.2.0 reproduce (this is a W=3D1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/= make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/8676ddeec4feae3f9c06f151c= f4b5a562fcb29ba git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review David-Mosberger-Tang/wilc1000-rewo= rk-tx-path-to-use-sk_buffs-throughout/20211219-075737 git checkout 8676ddeec4feae3f9c06f151cf4b5a562fcb29ba # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dgcc-11.2.0 make.cross= O=3Dbuild_dir ARCH=3Dalpha SHELL=3D/bin/bash drivers/net/wireless/microchi= p/wilc1000/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): drivers/net/wireless/microchip/wilc1000/wlan.c: In function 'wilc_wlan_h= andle_txq': >> drivers/net/wireless/microchip/wilc1000/wlan.c:894:25: warning: variable= 'tqe_q' set but not used [-Wunused-but-set-variable] 894 | struct sk_buff *tqe_q[NQUEUES]; | ^~~~~ drivers/net/wireless/microchip/wilc1000/wlan.c: In function 'wilc_wlan_c= fg_apply_wid': drivers/net/wireless/microchip/wilc1000/wlan.c:1347:63: warning: passing= argument 1 of 'wilc_wlan_cfg_set_wid' makes pointer from integer without a= cast [-Wint-conversion] 1347 | ret_size =3D wilc_wlan_cfg_set_wid(wilc->cfg_skb= ->tail, 0, | ~~~~~~~~~~~~~^~= ~~~~ | | | sk= _buff_data_t {aka unsigned int} In file included from drivers/net/wireless/microchip/wilc1000/netdev.h:1= 9, from drivers/net/wireless/microchip/wilc1000/cfg80211.h= :9, from drivers/net/wireless/microchip/wilc1000/wlan.c:10: drivers/net/wireless/microchip/wilc1000/wlan_cfg.h:45:31: note: expected= 'u8 *' {aka 'unsigned char *'} but argument is of type 'sk_buff_data_t' {a= ka 'unsigned int'} 45 | int wilc_wlan_cfg_set_wid(u8 *frame, u32 offset, u16 id, u8 *buf= , int size); | ~~~~^~~~~ drivers/net/wireless/microchip/wilc1000/wlan.c:1350:63: warning: passing= argument 1 of 'wilc_wlan_cfg_get_wid' makes pointer from integer without a= cast [-Wint-conversion] 1350 | ret_size =3D wilc_wlan_cfg_get_wid(wilc->cfg_skb= ->tail, 0, wid); | ~~~~~~~~~~~~~^~= ~~~~ | | | sk= _buff_data_t {aka unsigned int} In file included from drivers/net/wireless/microchip/wilc1000/netdev.h:1= 9, from drivers/net/wireless/microchip/wilc1000/cfg80211.h= :9, from drivers/net/wireless/microchip/wilc1000/wlan.c:10: drivers/net/wireless/microchip/wilc1000/wlan_cfg.h:46:31: note: expected= 'u8 *' {aka 'unsigned char *'} but argument is of type 'sk_buff_data_t' {a= ka 'unsigned int'} 46 | int wilc_wlan_cfg_get_wid(u8 *frame, u32 offset, u16 id); | ~~~~^~~~~ vim +/tqe_q +894 drivers/net/wireless/microchip/wilc1000/wlan.c 887 = 888 int wilc_wlan_handle_txq(struct wilc *wilc, u32 *txq_count) 889 { 890 int i, entries, len; 891 u8 ac; 892 u8 ac_desired_ratio[NQUEUES] =3D {0, 0, 0, 0}; 893 u8 vmm_entries_ac[WILC_VMM_TBL_SIZE]; > 894 struct sk_buff *tqe_q[NQUEUES]; 895 int ret =3D 0; 896 u32 vmm_table[WILC_VMM_TBL_SIZE]; 897 int srcu_idx; 898 struct wilc_vif *vif; 899 = 900 if (wilc->quit) 901 goto out_update_cnt; 902 = 903 if (ac_balance(wilc, ac_desired_ratio)) 904 return -EINVAL; 905 = 906 mutex_lock(&wilc->txq_add_to_head_cs); 907 = 908 srcu_idx =3D srcu_read_lock(&wilc->srcu); 909 list_for_each_entry_rcu(vif, &wilc->vif_list, list) 910 wilc_wlan_txq_filter_dup_tcp_ack(vif->ndev); 911 srcu_read_unlock(&wilc->srcu, srcu_idx); 912 = 913 for (ac =3D 0; ac < NQUEUES; ac++) 914 tqe_q[ac] =3D skb_peek(&wilc->txq[ac]); 915 = 916 i =3D fill_vmm_table(wilc, ac_desired_ratio, vmm_table, vmm_entries= _ac); 917 if (i =3D=3D 0) 918 goto out_unlock; 919 = 920 acquire_bus(wilc, WILC_BUS_ACQUIRE_AND_WAKEUP); 921 = 922 ret =3D send_vmm_table(wilc, i, vmm_table); 923 = 924 release_bus(wilc, WILC_BUS_RELEASE_ALLOW_SLEEP); 925 = 926 if (ret < 0) 927 goto out_unlock; 928 = 929 entries =3D ret; 930 if (entries =3D=3D 0) { 931 /* No VMM space available in firmware. Inform caller 932 * to retry later. 933 */ 934 ret =3D WILC_VMM_ENTRY_FULL_RETRY; 935 goto out_unlock; 936 } 937 = 938 len =3D copy_packets(wilc, entries, vmm_table, vmm_entries_ac); 939 if (len <=3D 0) 940 goto out_unlock; 941 = 942 acquire_bus(wilc, WILC_BUS_ACQUIRE_AND_WAKEUP); 943 = 944 ret =3D send_packets(wilc, len); 945 = 946 release_bus(wilc, WILC_BUS_RELEASE_ALLOW_SLEEP); 947 = 948 out_unlock: 949 mutex_unlock(&wilc->txq_add_to_head_cs); 950 = 951 out_update_cnt: 952 *txq_count =3D atomic_read(&wilc->txq_entries); 953 return ret; 954 } 955 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============3799070717032371235==--