Hi Mika, First bad commit (maybe != root cause): tree: https://github.com/ammarfaizi2/linux-block netdev/net-next/main head: 298bfe27d1127a8e41fbf668d3e4ce04fa7b1ecc commit: 0d0950a968009fd6e5c2a3763b2c6e81b3805b05 [3/11] net: thunderbolt: Move into own directory config: openrisc-randconfig-s033-20230115 compiler: or1k-linux-gcc (GCC) 12.1.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.4-39-gce1a6720-dirty # https://github.com/ammarfaizi2/linux-block/commit/0d0950a968009fd6e5c2a3763b2c6e81b3805b05 git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block git fetch --no-tags ammarfaizi2-block netdev/net-next/main git checkout 0d0950a968009fd6e5c2a3763b2c6e81b3805b05 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=openrisc olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=openrisc SHELL=/bin/bash drivers/net/thunderbolt/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) >> drivers/net/thunderbolt/main.c:733:47: sparse: sparse: restricted __le32 degrades to integer >> drivers/net/thunderbolt/main.c:741:47: sparse: sparse: restricted __le16 degrades to integer drivers/net/thunderbolt/main.c:742:44: sparse: sparse: restricted __le16 degrades to integer >> drivers/net/thunderbolt/main.c:838:40: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] frame_size @@ got unsigned int [assigned] [usertype] frame_size @@ drivers/net/thunderbolt/main.c:838:40: sparse: expected restricted __le32 [usertype] frame_size drivers/net/thunderbolt/main.c:838:40: sparse: got unsigned int [assigned] [usertype] frame_size >> drivers/net/thunderbolt/main.c:839:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] frame_count @@ got unsigned int [usertype] @@ drivers/net/thunderbolt/main.c:839:41: sparse: expected restricted __le32 [usertype] frame_count drivers/net/thunderbolt/main.c:839:41: sparse: got unsigned int [usertype] >> drivers/net/thunderbolt/main.c:840:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] frame_index @@ got unsigned short [usertype] @@ drivers/net/thunderbolt/main.c:840:41: sparse: expected restricted __le16 [usertype] frame_index drivers/net/thunderbolt/main.c:840:41: sparse: got unsigned short [usertype] >> drivers/net/thunderbolt/main.c:841:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] frame_id @@ got unsigned short [usertype] @@ drivers/net/thunderbolt/main.c:841:38: sparse: expected restricted __le16 [usertype] frame_id drivers/net/thunderbolt/main.c:841:38: sparse: got unsigned short [usertype] drivers/net/thunderbolt/main.c:842:62: sparse: sparse: restricted __le32 degrades to integer drivers/net/thunderbolt/main.c:842:35: sparse: sparse: restricted __le16 degrades to integer >> drivers/net/thunderbolt/main.c:954:23: sparse: sparse: incorrect type in initializer (different base types) @@ expected restricted __wsum [usertype] wsum @@ got restricted __be32 [usertype] @@ drivers/net/thunderbolt/main.c:954:23: sparse: expected restricted __wsum [usertype] wsum drivers/net/thunderbolt/main.c:954:23: sparse: got restricted __be32 [usertype] vim +733 drivers/net/thunderbolt/main.c 027d351c541744 drivers/net/thunderbolt.c Mika Westerberg 2018-02-12 696 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 697 static bool tbnet_check_frame(struct tbnet *net, const struct tbnet_frame *tf, e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 698 const struct thunderbolt_ip_frame_header *hdr) e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 699 { e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 700 u32 frame_id, frame_count, frame_size, frame_index; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 701 unsigned int size; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 702 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 703 if (tf->frame.flags & RING_DESC_CRC_ERROR) { e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 704 net->stats.rx_crc_errors++; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 705 return false; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 706 } else if (tf->frame.flags & RING_DESC_BUFFER_OVERRUN) { e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 707 net->stats.rx_over_errors++; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 708 return false; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 709 } e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 710 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 711 /* Should be greater than just header i.e. contains data */ e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 712 size = tbnet_frame_size(tf); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 713 if (size <= sizeof(*hdr)) { e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 714 net->stats.rx_length_errors++; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 715 return false; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 716 } e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 717 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 718 frame_count = le32_to_cpu(hdr->frame_count); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 719 frame_size = le32_to_cpu(hdr->frame_size); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 720 frame_index = le16_to_cpu(hdr->frame_index); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 721 frame_id = le16_to_cpu(hdr->frame_id); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 722 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 723 if ((frame_size > size - sizeof(*hdr)) || !frame_size) { e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 724 net->stats.rx_length_errors++; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 725 return false; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 726 } e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 727 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 728 /* In case we're in the middle of packet, validate the frame e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 729 * header based on first fragment of the packet. e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 730 */ e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 731 if (net->skb && net->rx_hdr.frame_count) { e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 732 /* Check the frame count fits the count field */ e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 @733 if (frame_count != net->rx_hdr.frame_count) { e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 734 net->stats.rx_length_errors++; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 735 return false; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 736 } e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 737 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 738 /* Check the frame identifiers are incremented correctly, e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 739 * and id is matching. e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 740 */ e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 @741 if (frame_index != net->rx_hdr.frame_index + 1 || e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 742 frame_id != net->rx_hdr.frame_id) { e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 743 net->stats.rx_missed_errors++; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 744 return false; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 745 } e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 746 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 747 if (net->skb->len + frame_size > TBNET_MAX_MTU) { e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 748 net->stats.rx_length_errors++; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 749 return false; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 750 } e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 751 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 752 return true; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 753 } e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 754 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 755 /* Start of packet, validate the frame header */ e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 756 if (frame_count == 0 || frame_count > TBNET_RING_SIZE / 4) { e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 757 net->stats.rx_length_errors++; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 758 return false; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 759 } e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 760 if (frame_index != 0) { e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 761 net->stats.rx_missed_errors++; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 762 return false; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 763 } e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 764 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 765 return true; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 766 } e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 767 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 768 static int tbnet_poll(struct napi_struct *napi, int budget) e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 769 { e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 770 struct tbnet *net = container_of(napi, struct tbnet, napi); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 771 unsigned int cleaned_count = tbnet_available_buffers(&net->rx_ring); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 772 struct device *dma_dev = tb_ring_dma_device(net->rx_ring.ring); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 773 unsigned int rx_packets = 0; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 774 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 775 while (rx_packets < budget) { e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 776 const struct thunderbolt_ip_frame_header *hdr; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 777 unsigned int hdr_size = sizeof(*hdr); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 778 struct sk_buff *skb = NULL; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 779 struct ring_frame *frame; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 780 struct tbnet_frame *tf; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 781 struct page *page; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 782 bool last = true; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 783 u32 frame_size; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 784 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 785 /* Return some buffers to hardware, one at a time is too e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 786 * slow so allocate MAX_SKB_FRAGS buffers at the same e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 787 * time. e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 788 */ e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 789 if (cleaned_count >= MAX_SKB_FRAGS) { e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 790 tbnet_alloc_rx_buffers(net, cleaned_count); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 791 cleaned_count = 0; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 792 } e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 793 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 794 frame = tb_ring_poll(net->rx_ring.ring); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 795 if (!frame) e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 796 break; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 797 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 798 dma_unmap_page(dma_dev, frame->buffer_phy, e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 799 TBNET_RX_PAGE_SIZE, DMA_FROM_DEVICE); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 800 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 801 tf = container_of(frame, typeof(*tf), frame); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 802 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 803 page = tf->page; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 804 tf->page = NULL; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 805 net->rx_ring.cons++; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 806 cleaned_count++; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 807 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 808 hdr = page_address(page); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 809 if (!tbnet_check_frame(net, tf, hdr)) { e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 810 __free_pages(page, TBNET_RX_PAGE_ORDER); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 811 dev_kfree_skb_any(net->skb); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 812 net->skb = NULL; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 813 continue; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 814 } e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 815 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 816 frame_size = le32_to_cpu(hdr->frame_size); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 817 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 818 skb = net->skb; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 819 if (!skb) { e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 820 skb = build_skb(page_address(page), e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 821 TBNET_RX_PAGE_SIZE); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 822 if (!skb) { e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 823 __free_pages(page, TBNET_RX_PAGE_ORDER); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 824 net->stats.rx_errors++; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 825 break; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 826 } e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 827 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 828 skb_reserve(skb, hdr_size); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 829 skb_put(skb, frame_size); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 830 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 831 net->skb = skb; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 832 } else { e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 833 skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 834 page, hdr_size, frame_size, e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 835 TBNET_RX_PAGE_SIZE - hdr_size); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 836 } e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 837 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 @838 net->rx_hdr.frame_size = frame_size; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 @839 net->rx_hdr.frame_count = le32_to_cpu(hdr->frame_count); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 @840 net->rx_hdr.frame_index = le16_to_cpu(hdr->frame_index); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 @841 net->rx_hdr.frame_id = le16_to_cpu(hdr->frame_id); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 842 last = net->rx_hdr.frame_index == net->rx_hdr.frame_count - 1; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 843 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 844 rx_packets++; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 845 net->stats.rx_bytes += frame_size; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 846 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 847 if (last) { e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 848 skb->protocol = eth_type_trans(skb, net->dev); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 849 napi_gro_receive(&net->napi, skb); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 850 net->skb = NULL; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 851 } e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 852 } e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 853 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 854 net->stats.rx_packets += rx_packets; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 855 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 856 if (cleaned_count) e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 857 tbnet_alloc_rx_buffers(net, cleaned_count); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 858 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 859 if (rx_packets >= budget) e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 860 return budget; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 861 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 862 napi_complete_done(napi, rx_packets); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 863 /* Re-enable the ring interrupt */ e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 864 tb_ring_poll_complete(net->rx_ring.ring); e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 865 e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 866 return rx_packets; e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 867 } e69b6c02b4c3b8 drivers/net/thunderbolt.c Amir Levy 2017-10-02 868 :::::: The code at line 733 was first introduced by commit :::::: e69b6c02b4c3b8d03be7136f90dd9551ad5a5a5e net: Add support for networking over Thunderbolt cable :::::: TO: Amir Levy :::::: CC: David S. Miller -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests