* [sashal-linux-stable:pending-5.13 40/569] drivers/net/ethernet/intel/igbvf/netdev.c:356:52: sparse: sparse: incorrect type in argument 5 (different base types)
@ 2021-07-19 8:27 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-07-19 8:27 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 25708 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git pending-5.13
head: af8541612e8f9f67ef47e6a773223f32a139ba69
commit: cdf06d30fa45e9ef387aae38ba80d13eea048508 [40/569] igb: handle vlan types with checker enabled
config: x86_64-randconfig-s021-20210718 (attached as .config)
compiler: gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/commit/?id=cdf06d30fa45e9ef387aae38ba80d13eea048508
git remote add sashal-linux-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-linux-stable pending-5.13
git checkout cdf06d30fa45e9ef387aae38ba80d13eea048508
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/net/ethernet/intel/igbvf/netdev.c:203:48: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] pkt_addr @@ got restricted __le64 [usertype] @@
drivers/net/ethernet/intel/igbvf/netdev.c:203:48: sparse: expected unsigned long long [usertype] pkt_addr
drivers/net/ethernet/intel/igbvf/netdev.c:203:48: sparse: got restricted __le64 [usertype]
drivers/net/ethernet/intel/igbvf/netdev.c:205:48: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] hdr_addr @@ got restricted __le64 [usertype] @@
drivers/net/ethernet/intel/igbvf/netdev.c:205:48: sparse: expected unsigned long long [usertype] hdr_addr
drivers/net/ethernet/intel/igbvf/netdev.c:205:48: sparse: got restricted __le64 [usertype]
drivers/net/ethernet/intel/igbvf/netdev.c:207:48: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] pkt_addr @@ got restricted __le64 [usertype] @@
drivers/net/ethernet/intel/igbvf/netdev.c:207:48: sparse: expected unsigned long long [usertype] pkt_addr
drivers/net/ethernet/intel/igbvf/netdev.c:207:48: sparse: got restricted __le64 [usertype]
drivers/net/ethernet/intel/igbvf/netdev.c:261:19: sparse: sparse: cast to restricted __le32
drivers/net/ethernet/intel/igbvf/netdev.c:276:25: sparse: sparse: cast to restricted __le16
drivers/net/ethernet/intel/igbvf/netdev.c:282:26: sparse: sparse: cast to restricted __le16
>> drivers/net/ethernet/intel/igbvf/netdev.c:356:52: sparse: sparse: incorrect type in argument 5 (different base types) @@ expected restricted __le16 [usertype] vlan @@ got unsigned short [usertype] vlan @@
drivers/net/ethernet/intel/igbvf/netdev.c:356:52: sparse: expected restricted __le16 [usertype] vlan
drivers/net/ethernet/intel/igbvf/netdev.c:356:52: sparse: got unsigned short [usertype] vlan
drivers/net/ethernet/intel/igbvf/netdev.c:371:27: sparse: sparse: cast to restricted __le32
drivers/net/ethernet/intel/igbvf/netdev.c:797:45: sparse: sparse: restricted __le32 degrades to integer
drivers/net/ethernet/intel/igbvf/netdev.c:1992:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] vlan_macip_lens @@ got restricted __le32 [usertype] @@
drivers/net/ethernet/intel/igbvf/netdev.c:1992:41: sparse: expected unsigned int [usertype] vlan_macip_lens
drivers/net/ethernet/intel/igbvf/netdev.c:1992:41: sparse: got restricted __le32 [usertype]
drivers/net/ethernet/intel/igbvf/netdev.c:1994:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] type_tucmd_mlhl @@ got restricted __le32 [usertype] @@
drivers/net/ethernet/intel/igbvf/netdev.c:1994:41: sparse: expected unsigned int [usertype] type_tucmd_mlhl
drivers/net/ethernet/intel/igbvf/netdev.c:1994:41: sparse: got restricted __le32 [usertype]
drivers/net/ethernet/intel/igbvf/netdev.c:1995:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] mss_l4len_idx @@ got restricted __le32 [usertype] @@
drivers/net/ethernet/intel/igbvf/netdev.c:1995:41: sparse: expected unsigned int [usertype] mss_l4len_idx
drivers/net/ethernet/intel/igbvf/netdev.c:1995:41: sparse: got restricted __le32 [usertype]
drivers/net/ethernet/intel/igbvf/netdev.c:2059:46: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __wsum [usertype] diff @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/intel/igbvf/netdev.c:2059:46: sparse: expected restricted __wsum [usertype] diff
drivers/net/ethernet/intel/igbvf/netdev.c:2059:46: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/intel/igbvf/netdev.c:2254:43: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] buffer_addr @@ got restricted __le64 [usertype] @@
drivers/net/ethernet/intel/igbvf/netdev.c:2254:43: sparse: expected unsigned long long [usertype] buffer_addr
drivers/net/ethernet/intel/igbvf/netdev.c:2254:43: sparse: got restricted __le64 [usertype]
drivers/net/ethernet/intel/igbvf/netdev.c:2255:44: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] cmd_type_len @@ got restricted __le32 [usertype] @@
drivers/net/ethernet/intel/igbvf/netdev.c:2255:44: sparse: expected unsigned int [usertype] cmd_type_len
drivers/net/ethernet/intel/igbvf/netdev.c:2255:44: sparse: got restricted __le32 [usertype]
drivers/net/ethernet/intel/igbvf/netdev.c:2257:45: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] olinfo_status @@ got restricted __le32 [usertype] @@
drivers/net/ethernet/intel/igbvf/netdev.c:2257:45: sparse: expected unsigned int [usertype] olinfo_status
drivers/net/ethernet/intel/igbvf/netdev.c:2257:45: sparse: got restricted __le32 [usertype]
drivers/net/ethernet/intel/igbvf/netdev.c:2263:36: sparse: sparse: invalid assignment: |=
drivers/net/ethernet/intel/igbvf/netdev.c:2263:36: sparse: left side has type unsigned int
drivers/net/ethernet/intel/igbvf/netdev.c:2263:36: sparse: right side has type restricted __le32
vim +356 drivers/net/ethernet/intel/igbvf/netdev.c
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 234
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 235 /**
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 236 * igbvf_clean_rx_irq - Send received data up the network stack; legacy
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 237 * @adapter: board private structure
b50f7bca5e83d9e8 drivers/net/ethernet/intel/igbvf/netdev.c Jesse Brandeburg 2020-09-25 238 * @work_done: output parameter used to indicate completed work
b50f7bca5e83d9e8 drivers/net/ethernet/intel/igbvf/netdev.c Jesse Brandeburg 2020-09-25 239 * @work_to_do: input parameter setting limit of work
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 240 *
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 241 * the return value indicates whether actual cleaning was done, there
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 242 * is no guarantee that everything was cleaned
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 243 **/
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 244 static bool igbvf_clean_rx_irq(struct igbvf_adapter *adapter,
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 245 int *work_done, int work_to_do)
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 246 {
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 247 struct igbvf_ring *rx_ring = adapter->rx_ring;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 248 struct net_device *netdev = adapter->netdev;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 249 struct pci_dev *pdev = adapter->pdev;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 250 union e1000_adv_rx_desc *rx_desc, *next_rxd;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 251 struct igbvf_buffer *buffer_info, *next_buffer;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 252 struct sk_buff *skb;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 253 bool cleaned = false;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 254 int cleaned_count = 0;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 255 unsigned int total_bytes = 0, total_packets = 0;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 256 unsigned int i;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 257 u32 length, hlen, staterr;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 258
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 259 i = rx_ring->next_to_clean;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 260 rx_desc = IGBVF_RX_DESC_ADV(*rx_ring, i);
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 261 staterr = le32_to_cpu(rx_desc->wb.upper.status_error);
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 262
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 263 while (staterr & E1000_RXD_STAT_DD) {
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 264 if (*work_done >= work_to_do)
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 265 break;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 266 (*work_done)++;
2d0bb1c1f4524bef drivers/net/igbvf/netdev.c Jeff Kirsher 2010-08-08 267 rmb(); /* read descriptor and rx_buffer_info after status DD */
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 268
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 269 buffer_info = &rx_ring->buffer_info[i];
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 270
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 271 /* HW will not DMA in data larger than the given buffer, even
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 272 * if it parses the (NFS, of course) header to be larger. In
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 273 * that case, it fills the header buffer and spills the rest
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 274 * into the page.
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 275 */
0340501b1cf7dc67 drivers/net/ethernet/intel/igbvf/netdev.c Jeff Kirsher 2015-01-21 276 hlen = (le16_to_cpu(rx_desc->wb.lower.lo_dword.hs_rss.hdr_info)
0340501b1cf7dc67 drivers/net/ethernet/intel/igbvf/netdev.c Jeff Kirsher 2015-01-21 277 & E1000_RXDADV_HDRBUFLEN_MASK) >>
0340501b1cf7dc67 drivers/net/ethernet/intel/igbvf/netdev.c Jeff Kirsher 2015-01-21 278 E1000_RXDADV_HDRBUFLEN_SHIFT;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 279 if (hlen > adapter->rx_ps_hdr_size)
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 280 hlen = adapter->rx_ps_hdr_size;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 281
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 282 length = le16_to_cpu(rx_desc->wb.upper.length);
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 283 cleaned = true;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 284 cleaned_count++;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 285
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 286 skb = buffer_info->skb;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 287 prefetch(skb->data - NET_IP_ALIGN);
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 288 buffer_info->skb = NULL;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 289 if (!adapter->rx_ps_hdr_size) {
123e9f1afe7b86f7 drivers/net/igbvf/netdev.c Nick Nunley 2010-04-27 290 dma_unmap_single(&pdev->dev, buffer_info->dma,
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 291 adapter->rx_buffer_len,
123e9f1afe7b86f7 drivers/net/igbvf/netdev.c Nick Nunley 2010-04-27 292 DMA_FROM_DEVICE);
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 293 buffer_info->dma = 0;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 294 skb_put(skb, length);
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 295 goto send_up;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 296 }
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 297
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 298 if (!skb_shinfo(skb)->nr_frags) {
123e9f1afe7b86f7 drivers/net/igbvf/netdev.c Nick Nunley 2010-04-27 299 dma_unmap_single(&pdev->dev, buffer_info->dma,
92d947b77436437f drivers/net/igbvf/netdev.c Alexander Duyck 2009-07-23 300 adapter->rx_ps_hdr_size,
123e9f1afe7b86f7 drivers/net/igbvf/netdev.c Nick Nunley 2010-04-27 301 DMA_FROM_DEVICE);
fae5ecaee3e6265c drivers/net/ethernet/intel/igbvf/netdev.c Stefan Assmann 2015-08-06 302 buffer_info->dma = 0;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 303 skb_put(skb, hlen);
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 304 }
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 305
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 306 if (length) {
123e9f1afe7b86f7 drivers/net/igbvf/netdev.c Nick Nunley 2010-04-27 307 dma_unmap_page(&pdev->dev, buffer_info->page_dma,
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 308 PAGE_SIZE / 2,
123e9f1afe7b86f7 drivers/net/igbvf/netdev.c Nick Nunley 2010-04-27 309 DMA_FROM_DEVICE);
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 310 buffer_info->page_dma = 0;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 311
ec857fd40da41d7c drivers/net/igbvf/netdev.c Koki Sanagi 2010-04-27 312 skb_fill_page_desc(skb, skb_shinfo(skb)->nr_frags,
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 313 buffer_info->page,
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 314 buffer_info->page_offset,
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 315 length);
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 316
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 317 if ((adapter->rx_buffer_len > (PAGE_SIZE / 2)) ||
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 318 (page_count(buffer_info->page) != 1))
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 319 buffer_info->page = NULL;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 320 else
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 321 get_page(buffer_info->page);
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 322
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 323 skb->len += length;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 324 skb->data_len += length;
7b8b59617ead5acc drivers/net/ethernet/intel/igbvf/netdev.c Eric Dumazet 2011-10-20 325 skb->truesize += PAGE_SIZE / 2;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 326 }
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 327 send_up:
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 328 i++;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 329 if (i == rx_ring->count)
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 330 i = 0;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 331 next_rxd = IGBVF_RX_DESC_ADV(*rx_ring, i);
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 332 prefetch(next_rxd);
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 333 next_buffer = &rx_ring->buffer_info[i];
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 334
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 335 if (!(staterr & E1000_RXD_STAT_EOP)) {
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 336 buffer_info->skb = next_buffer->skb;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 337 buffer_info->dma = next_buffer->dma;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 338 next_buffer->skb = skb;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 339 next_buffer->dma = 0;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 340 goto next_desc;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 341 }
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 342
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 343 if (staterr & E1000_RXDEXT_ERR_FRAME_ERR_MASK) {
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 344 dev_kfree_skb_irq(skb);
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 345 goto next_desc;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 346 }
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 347
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 348 total_bytes += skb->len;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 349 total_packets++;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 350
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 351 igbvf_rx_checksum_adv(adapter, staterr, skb);
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 352
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 353 skb->protocol = eth_type_trans(skb, netdev);
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 354
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 355 igbvf_receive_skb(adapter, netdev, skb, staterr,
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 @356 rx_desc->wb.upper.vlan);
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 357
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 358 next_desc:
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 359 rx_desc->wb.upper.status_error = 0;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 360
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 361 /* return some buffers to hardware, one at a time is too slow */
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 362 if (cleaned_count >= IGBVF_RX_BUFFER_WRITE) {
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 363 igbvf_alloc_rx_buffers(rx_ring, cleaned_count);
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 364 cleaned_count = 0;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 365 }
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 366
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 367 /* use prefetched values */
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 368 rx_desc = next_rxd;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 369 buffer_info = next_buffer;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 370
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 371 staterr = le32_to_cpu(rx_desc->wb.upper.status_error);
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 372 }
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 373
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 374 rx_ring->next_to_clean = i;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 375 cleaned_count = igbvf_desc_unused(rx_ring);
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 376
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 377 if (cleaned_count)
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 378 igbvf_alloc_rx_buffers(rx_ring, cleaned_count);
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 379
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 380 adapter->total_rx_packets += total_packets;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 381 adapter->total_rx_bytes += total_bytes;
55c05dd0295d8334 drivers/net/ethernet/intel/igbvf/netdev.c Tobias Klauser 2017-04-06 382 netdev->stats.rx_bytes += total_bytes;
55c05dd0295d8334 drivers/net/ethernet/intel/igbvf/netdev.c Tobias Klauser 2017-04-06 383 netdev->stats.rx_packets += total_packets;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 384 return cleaned;
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 385 }
d4e0fe01a38a0735 drivers/net/igbvf/netdev.c Alexander Duyck 2009-04-07 386
:::::: The code at line 356 was first introduced by commit
:::::: d4e0fe01a38a073568aee541a0247fe734095979 igbvf: add new driver to support 82576 virtual functions
:::::: TO: Alexander Duyck <alexander.h.duyck@intel.com>
:::::: CC: David S. Miller <davem@davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 44156 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-07-19 8:27 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-19 8:27 [sashal-linux-stable:pending-5.13 40/569] drivers/net/ethernet/intel/igbvf/netdev.c:356:52: sparse: sparse: incorrect type in argument 5 (different base types) kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.