[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202601311618.xd5faCRh-lkp@intel.com>
Date: Sat, 31 Jan 2026 16:44:56 +0100
From: kernel test robot <lkp@...el.com>
To: Haoxiang Li <lihaoxiang@...c.iscas.ac.cn>, anthony.l.nguyen@...el.com,
przemyslaw.kitszel@...el.com, andrew+netdev@...n.ch,
davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, daniel@...earbox.net, magnus.karlsson@...el.com,
bjorn@...nel.org
Cc: oe-kbuild-all@...ts.linux.dev, intel-wired-lan@...ts.osuosl.org,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
Haoxiang Li <lihaoxiang@...c.iscas.ac.cn>, stable@...r.kernel.org
Subject: Re: [Intel-wired-lan] [PATCH v2] i40e: add an error handling path in
i40e_xsk_pool_enable()
Hi Haoxiang,
kernel test robot noticed the following build errors:
[auto build test ERROR on tnguy-next-queue/dev-queue]
[also build test ERROR on tnguy-net-queue/dev-queue linus/master v6.16-rc1 next-20260130]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Haoxiang-Li/i40e-add-an-error-handling-path-in-i40e_xsk_pool_enable/20260131-135447
base: https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue.git dev-queue
patch link: https://lore.kernel.org/r/20260131055217.729048-1-lihaoxiang%40isrc.iscas.ac.cn
patch subject: [Intel-wired-lan] [PATCH v2] i40e: add an error handling path in i40e_xsk_pool_enable()
config: x86_64-rhel-9.4-kunit (https://download.01.org/0day-ci/archive/20260131/202601311618.xd5faCRh-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260131/202601311618.xd5faCRh-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202601311618.xd5faCRh-lkp@intel.com/
All error/warnings (new ones prefixed by >>):
drivers/net/ethernet/intel/i40e/i40e_xsk.c: In function 'i40e_xsk_pool_enable':
>> drivers/net/ethernet/intel/i40e/i40e_xsk.c:130:9: error: implicit declaration of function 'i40e_xsk_pool_disable'; did you mean 'i40e_xsk_pool_enable'? [-Wimplicit-function-declaration]
130 | i40e_xsk_pool_disable(vsi, qid);
| ^~~~~~~~~~~~~~~~~~~~~
| i40e_xsk_pool_enable
drivers/net/ethernet/intel/i40e/i40e_xsk.c: At top level:
>> drivers/net/ethernet/intel/i40e/i40e_xsk.c:141:12: error: conflicting types for 'i40e_xsk_pool_disable'; have 'int(struct i40e_vsi *, u16)' {aka 'int(struct i40e_vsi *, short unsigned int)'}
141 | static int i40e_xsk_pool_disable(struct i40e_vsi *vsi, u16 qid)
| ^~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/i40e/i40e_xsk.c:142:1: note: an argument type that has a default promotion cannot match an empty parameter name list declaration
142 | {
| ^
drivers/net/ethernet/intel/i40e/i40e_xsk.c:130:9: note: previous implicit declaration of 'i40e_xsk_pool_disable' with type 'int()'
130 | i40e_xsk_pool_disable(vsi, qid);
| ^~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/i40e/i40e_xsk.c: In function 'i40e_xsk_pool_enable':
>> drivers/net/ethernet/intel/i40e/i40e_xsk.c:131:1: warning: control reaches end of non-void function [-Wreturn-type]
131 | }
| ^
vim +130 drivers/net/ethernet/intel/i40e/i40e_xsk.c
72
73 /**
74 * i40e_xsk_pool_enable - Enable/associate an AF_XDP buffer pool to a
75 * certain ring/qid
76 * @vsi: Current VSI
77 * @pool: buffer pool
78 * @qid: Rx ring to associate buffer pool with
79 *
80 * Returns 0 on success, <0 on failure
81 **/
82 static int i40e_xsk_pool_enable(struct i40e_vsi *vsi,
83 struct xsk_buff_pool *pool,
84 u16 qid)
85 {
86 struct net_device *netdev = vsi->netdev;
87 bool if_running;
88 int err;
89
90 if (vsi->type != I40E_VSI_MAIN)
91 return -EINVAL;
92
93 if (qid >= vsi->num_queue_pairs)
94 return -EINVAL;
95
96 if (qid >= netdev->real_num_rx_queues ||
97 qid >= netdev->real_num_tx_queues)
98 return -EINVAL;
99
100 err = xsk_pool_dma_map(pool, &vsi->back->pdev->dev, I40E_RX_DMA_ATTR);
101 if (err)
102 return err;
103
104 set_bit(qid, vsi->af_xdp_zc_qps);
105
106 if_running = netif_running(vsi->netdev) && i40e_enabled_xdp_vsi(vsi);
107
108 if (if_running) {
109 err = i40e_queue_pair_disable(vsi, qid);
110 if (err)
111 goto err_out;
112
113 err = i40e_realloc_rx_xdp_bi(vsi->rx_rings[qid], true);
114 if (err)
115 goto err_out;
116
117 err = i40e_queue_pair_enable(vsi, qid);
118 if (err)
119 goto err_out;
120
121 /* Kick start the NAPI context so that receiving will start */
122 err = i40e_xsk_wakeup(vsi->netdev, qid, XDP_WAKEUP_RX);
123 if (err)
124 goto err_out;
125 }
126
127 return 0;
128
129 err_out:
> 130 i40e_xsk_pool_disable(vsi, qid);
> 131 }
132
133 /**
134 * i40e_xsk_pool_disable - Disassociate an AF_XDP buffer pool from a
135 * certain ring/qid
136 * @vsi: Current VSI
137 * @qid: Rx ring to associate buffer pool with
138 *
139 * Returns 0 on success, <0 on failure
140 **/
> 141 static int i40e_xsk_pool_disable(struct i40e_vsi *vsi, u16 qid)
142 {
143 struct net_device *netdev = vsi->netdev;
144 struct xsk_buff_pool *pool;
145 bool if_running;
146 int err;
147
148 pool = xsk_get_pool_from_qid(netdev, qid);
149 if (!pool)
150 return -EINVAL;
151
152 if_running = netif_running(vsi->netdev) && i40e_enabled_xdp_vsi(vsi);
153
154 if (if_running) {
155 err = i40e_queue_pair_disable(vsi, qid);
156 if (err)
157 return err;
158 }
159
160 clear_bit(qid, vsi->af_xdp_zc_qps);
161 xsk_pool_dma_unmap(pool, I40E_RX_DMA_ATTR);
162
163 if (if_running) {
164 err = i40e_realloc_rx_xdp_bi(vsi->rx_rings[qid], false);
165 if (err)
166 return err;
167 err = i40e_queue_pair_enable(vsi, qid);
168 if (err)
169 return err;
170 }
171
172 return 0;
173 }
174
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists