All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:1799:9: sparse: sparse: context imbalance in 'netxen_process_cmd_ring' - wrong count at exit
Date: Sat, 28 Aug 2021 21:20:48 +0800	[thread overview]
Message-ID: <202108282131.JvAYs0ia-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 38645 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Linux Memory Management List <linux-mm@kvack.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   64b4fc45bea6f4faa843d2f97ff51665280efee1
commit: d991bb1c8da842a2a0b9dc83b1005e655783f861 include/linux/compiler-gcc.h: sparse can do constant folding of __builtin_bswap*()
date:   4 months ago
:::::: branch date: 14 hours ago
:::::: commit date: 4 months ago
config: powerpc64-randconfig-s031-20210826 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 11.2.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.3-348-gf0e6938b-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d991bb1c8da842a2a0b9dc83b1005e655783f861
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout d991bb1c8da842a2a0b9dc83b1005e655783f861
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=powerpc SHELL=/bin/bash

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/qlogic/netxen/netxen_nic_init.c:571:25: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:574:38: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:573:31: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:573:62: sparse: sparse: incorrect type in initializer (different base types) @@     expected restricted __le32 [usertype] offs @@     got unsigned int @@
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:573:62: sparse:     expected restricted __le32 [usertype] offs
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:573:62: sparse:     got unsigned int
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:575:35: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:577:21: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:578:66: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:601:54: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:601:64: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:601:20: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:615:22: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:627:63: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:627:26: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:626:20: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:633:18: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:633:55: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:632:16: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:636:21: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:636:50: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:650:22: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:662:63: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:662:26: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:661:20: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:668:18: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:668:55: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:667:16: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:670:21: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:670:50: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:697:55: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:697:65: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:697:20: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:703:25: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:710:38: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:709:24: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:709:22: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [usertype] offs @@     got unsigned int @@
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:709:22: sparse:     expected restricted __le32 [usertype] offs
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:709:22: sparse:     got unsigned int
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:711:25: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:712:32: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:717:33: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:718:62: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:766:19: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:766:19: sparse: sparse: incorrect type in initializer (different base types) @@     expected int idx @@     got restricted __le32 [usertype] @@
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:766:19: sparse:     expected int idx
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:766:19: sparse:     got restricted __le32 [usertype]
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:777:26: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:776:16: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:776:14: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [usertype] offs @@     got unsigned int @@
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:776:14: sparse:     expected restricted __le32 [usertype] offs
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:776:14: sparse:     got unsigned int
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:779:48: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:788:22: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] offs @@     got restricted __le32 [usertype] @@
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:788:22: sparse:     expected unsigned int [usertype] offs
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:788:22: sparse:     got restricted __le32 [usertype]
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:801:22: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] offs @@     got restricted __le32 [usertype] @@
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:801:22: sparse:     expected unsigned int [usertype] offs
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:801:22: sparse:     got restricted __le32 [usertype]
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:833:38: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:834:33: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:847:33: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:847:24: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:847:48: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:847:45: sparse: sparse: incorrect type in return expression (different base types) @@     expected restricted __le32 @@     got unsigned int @@
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:847:45: sparse:     expected restricted __le32
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:847:45: sparse:     got unsigned int
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:860:28: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:862:25: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:862:45: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:863:58: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:862:70: sparse: sparse: incorrect type in return expression (different base types) @@     expected restricted __le32 @@     got unsigned int @@
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:862:70: sparse:     expected restricted __le32
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:862:70: sparse:     got unsigned int
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:911:21: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 @@
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:911:21: sparse:     expected unsigned int [usertype] val
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:911:21: sparse:     got restricted __le32
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:999:72: sparse: sparse: incorrect type in argument 3 (different base types) @@     expected unsigned long long [usertype] @@     got restricted __le64 [assigned] [usertype] data @@
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:999:72: sparse:     expected unsigned long long [usertype]
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:999:72: sparse:     got restricted __le64 [assigned] [usertype] data
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:1014:60: sparse: sparse: incorrect type in argument 3 (different base types) @@     expected unsigned long long [usertype] @@     got restricted __le64 [assigned] [usertype] data @@
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:1014:60: sparse:     expected unsigned long long [usertype]
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:1014:60: sparse:     got restricted __le64 [assigned] [usertype] data
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:1025:60: sparse: sparse: incorrect type in argument 3 (different base types) @@     expected unsigned long long [usertype] @@     got restricted __le64 [assigned] [usertype] data @@
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:1025:60: sparse:     expected unsigned long long [usertype]
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:1025:60: sparse:     got restricted __le64 [assigned] [usertype] data
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:1099:23: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:1099:23: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:1099:23: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:1123:24: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:1123:24: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:1123:24: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:1123:22: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [usertype] flash_fw_ver @@     got unsigned int @@
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:1123:22: sparse:     expected restricted __le32 [addressable] [usertype] flash_fw_ver
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:1123:22: sparse:     got unsigned int
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:1127:46: sparse: sparse: restricted __le32 degrades to integer
   drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:1139:21: sparse: sparse: restricted __le32 degrades to integer
>> drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:1799:9: sparse: sparse: context imbalance in 'netxen_process_cmd_ring' - wrong count at exit
>> drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c:1905:20: sparse: sparse: context imbalance in 'netxen_post_rx_buffers_nodb' - wrong count at exit

vim +/netxen_process_cmd_ring +1799 drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c

3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1733  
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1734  /* Process Command status ring */
05aaa02d799e8e drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-03-17  1735  int netxen_process_cmd_ring(struct netxen_adapter *adapter)
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1736  {
d877f1e344f551 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-04-07  1737  	u32 sw_consumer, hw_consumer;
ba53e6b4878e07 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-03-17  1738  	int count = 0, i;
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1739  	struct netxen_cmd_buffer *buffer;
ba53e6b4878e07 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-03-17  1740  	struct pci_dev *pdev = adapter->pdev;
ba53e6b4878e07 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-03-17  1741  	struct net_device *netdev = adapter->netdev;
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1742  	struct netxen_skb_frag *frag;
ba53e6b4878e07 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-03-17  1743  	int done = 0;
4ea528a151549d drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-04-28  1744  	struct nx_host_tx_ring *tx_ring = adapter->tx_ring;
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1745  
240b23c4269777 drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c Tony Camuso          2015-05-06  1746  	if (!spin_trylock_bh(&adapter->tx_clean_lock))
d8b100c5da003b drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1747  		return 1;
d8b100c5da003b drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1748  
d877f1e344f551 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-04-07  1749  	sw_consumer = tx_ring->sw_consumer;
d877f1e344f551 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-04-07  1750  	hw_consumer = le32_to_cpu(*(tx_ring->hw_consumer));
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1751  
d877f1e344f551 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-04-07  1752  	while (sw_consumer != hw_consumer) {
d877f1e344f551 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-04-07  1753  		buffer = &tx_ring->cmd_buf_arr[sw_consumer];
53a01e00f8c78b drivers/net/netxen/netxen_nic_init.c                 dhananjay(a)netxen.com 2007-12-26  1754  		if (buffer->skb) {
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1755  			frag = &buffer->frag_array[0];
297af515d75f5c drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c Christophe JAILLET   2021-01-13  1756  			dma_unmap_single(&pdev->dev, frag->dma, frag->length,
297af515d75f5c drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c Christophe JAILLET   2021-01-13  1757  					 DMA_TO_DEVICE);
96acb6eb8effe7 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2007-07-02  1758  			frag->dma = 0ULL;
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1759  			for (i = 1; i < buffer->frag_count; i++) {
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1760  				frag++;	/* Get the next frag */
297af515d75f5c drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c Christophe JAILLET   2021-01-13  1761  				dma_unmap_page(&pdev->dev, frag->dma,
297af515d75f5c drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c Christophe JAILLET   2021-01-13  1762  					       frag->length, DMA_TO_DEVICE);
96acb6eb8effe7 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2007-07-02  1763  				frag->dma = 0ULL;
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1764  			}
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1765  
ba53e6b4878e07 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-03-17  1766  			adapter->stats.xmitfinished++;
53a01e00f8c78b drivers/net/netxen/netxen_nic_init.c                 dhananjay(a)netxen.com 2007-12-26  1767  			dev_kfree_skb_any(buffer->skb);
53a01e00f8c78b drivers/net/netxen/netxen_nic_init.c                 dhananjay(a)netxen.com 2007-12-26  1768  			buffer->skb = NULL;
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1769  		}
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1770  
d877f1e344f551 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-04-07  1771  		sw_consumer = get_next_index(sw_consumer, tx_ring->num_desc);
ba53e6b4878e07 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-03-17  1772  		if (++count >= MAX_STATUS_HANDLE)
ba53e6b4878e07 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-03-17  1773  			break;
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1774  	}
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1775  
d877f1e344f551 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-04-07  1776  	tx_ring->sw_consumer = sw_consumer;
22527864ed7ee6 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-05-05  1777  
9295f940fb677b drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c Manish Chopra        2014-09-30  1778  	if (count && netif_running(netdev)) {
ba53e6b4878e07 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-03-17  1779  		smp_mb();
cb2107be43d2fc drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-06-17  1780  
7a9905e64272c8 drivers/net/netxen/netxen_nic_init.c                 Rajesh Borundia      2010-10-18  1781  		if (netif_queue_stopped(netdev) && netif_carrier_ok(netdev))
7a9905e64272c8 drivers/net/netxen/netxen_nic_init.c                 Rajesh Borundia      2010-10-18  1782  			if (netxen_tx_avail(tx_ring) > TX_STOP_THRESH)
ba53e6b4878e07 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-03-17  1783  				netif_wake_queue(netdev);
74c520da5414d1 drivers/net/netxen/netxen_nic_init.c                 Amit Kumar Salecha   2009-09-11  1784  		adapter->tx_timeo_cnt = 0;
74c520da5414d1 drivers/net/netxen/netxen_nic_init.c                 Amit Kumar Salecha   2009-09-11  1785  	}
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1786  	/*
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1787  	 * If everything is freed up to consumer then check if the ring is full
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1788  	 * If the ring is full then check if more needs to be freed and
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1789  	 * schedule the call back again.
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1790  	 *
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1791  	 * This happens when there are 2 CPUs. One could be freeing and the
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1792  	 * other filling it. If the ring is full when we get out of here and
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1793  	 * the card has already interrupted the host then the host can miss the
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1794  	 * interrupt.
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1795  	 *
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1796  	 * There is still a possible race condition and the host could miss an
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1797  	 * interrupt. The card has to take care of this.
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1798  	 */
d877f1e344f551 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-04-07 @1799  	hw_consumer = le32_to_cpu(*(tx_ring->hw_consumer));
d877f1e344f551 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-04-07  1800  	done = (sw_consumer == hw_consumer);
240b23c4269777 drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c Tony Camuso          2015-05-06  1801  	spin_unlock_bh(&adapter->tx_clean_lock);
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1802  
807540baae406c drivers/net/netxen/netxen_nic_init.c                 Eric Dumazet         2010-09-23  1803  	return done;
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1804  }
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1805  
becf46a012db66 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-09  1806  void
d8b100c5da003b drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1807  netxen_post_rx_buffers(struct netxen_adapter *adapter, u32 ringid,
d8b100c5da003b drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1808  	struct nx_host_rds_ring *rds_ring)
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1809  {
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1810  	struct rcv_desc *pdesc;
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1811  	struct netxen_rx_buffer *buffer;
d8b100c5da003b drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1812  	int producer, count = 0;
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1813  	netxen_ctx_msg msg = 0;
d9e651bc06690c drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-07-21  1814  	struct list_head *head;
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1815  
48bfd1e0fc66b2 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-07-21  1816  	producer = rds_ring->producer;
d9e651bc06690c drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-07-21  1817  
d8b100c5da003b drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1818  	head = &rds_ring->free_list;
d9e651bc06690c drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-07-21  1819  	while (!list_empty(head)) {
d9e651bc06690c drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-07-21  1820  
d8b100c5da003b drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1821  		buffer = list_entry(head->next, struct netxen_rx_buffer, list);
6f70340698333f drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-01-14  1822  
d8b100c5da003b drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1823  		if (!buffer->skb) {
d8b100c5da003b drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1824  			if (netxen_alloc_rx_skb(adapter, rds_ring, buffer))
6f70340698333f drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-01-14  1825  				break;
6f70340698333f drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-01-14  1826  		}
6f70340698333f drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-01-14  1827  
6f70340698333f drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-01-14  1828  		count++;
d9e651bc06690c drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-07-21  1829  		list_del(&buffer->list);
d9e651bc06690c drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-07-21  1830  
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1831  		/* make a rcv descriptor  */
6f70340698333f drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-01-14  1832  		pdesc = &rds_ring->desc_head[producer];
d8b100c5da003b drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1833  		pdesc->addr_buffer = cpu_to_le64(buffer->dma);
ed33ebe464d973 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-18  1834  		pdesc->reference_handle = cpu_to_le16(buffer->ref_handle);
48bfd1e0fc66b2 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-07-21  1835  		pdesc->buffer_length = cpu_to_le32(rds_ring->dma_size);
6f70340698333f drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-01-14  1836  
438627c77b877e drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1837  		producer = get_next_index(producer, rds_ring->num_desc);
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1838  	}
9b3ef55c6ddbe8 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1839  
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1840  	if (count) {
48bfd1e0fc66b2 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-07-21  1841  		rds_ring->producer = producer;
195c5f98294078 drivers/net/netxen/netxen_nic_init.c                 Amit Kumar Salecha   2009-09-05  1842  		NXWRIO(adapter, rds_ring->crb_rcv_producer,
438627c77b877e drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1843  				(producer-1) & (rds_ring->num_desc-1));
48bfd1e0fc66b2 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-07-21  1844  
4f96b988e8d404 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-07-26  1845  		if (NX_IS_REVISION_P2(adapter->ahw.revision_id)) {
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1846  			/*
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1847  			 * Write a doorbell msg to tell phanmon of change in
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1848  			 * receive ring producer
48bfd1e0fc66b2 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-07-21  1849  			 * Only for firmware version < 4.0.0
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1850  			 */
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1851  			netxen_set_msg_peg_id(msg, NETXEN_RCV_PEG_DB_ID);
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1852  			netxen_set_msg_privid(msg);
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1853  			netxen_set_msg_count(msg,
438627c77b877e drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1854  					     ((producer - 1) &
438627c77b877e drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1855  					      (rds_ring->num_desc - 1)));
3176ff3ee71bdd drivers/net/netxen/netxen_nic_init.c                 Mithlesh Thukral     2007-04-20  1856  			netxen_set_msg_ctxid(msg, adapter->portnum);
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1857  			netxen_set_msg_opcode(msg, NETXEN_RCV_PRODUCER(ringid));
f03b0ebd8e7132 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-10-13  1858  			NXWRIO(adapter, DB_NORMALIZE(adapter,
f03b0ebd8e7132 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-10-13  1859  					NETXEN_RCV_PRODUCER_OFFSET), msg);
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1860  		}
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1861  	}
48bfd1e0fc66b2 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-07-21  1862  }
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1863  
becf46a012db66 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-09  1864  static void
d8b100c5da003b drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1865  netxen_post_rx_buffers_nodb(struct netxen_adapter *adapter,
d8b100c5da003b drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1866  		struct nx_host_rds_ring *rds_ring)
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1867  {
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1868  	struct rcv_desc *pdesc;
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1869  	struct netxen_rx_buffer *buffer;
d8b100c5da003b drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1870  	int producer, count = 0;
d9e651bc06690c drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-07-21  1871  	struct list_head *head;
ed25ffa1643472 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-04  1872  
d8b100c5da003b drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1873  	if (!spin_trylock(&rds_ring->lock))
d8b100c5da003b drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1874  		return;
d8b100c5da003b drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1875  
2227bae22becb8 drivers/net/netxen/netxen_nic_init.c                 Amit Kumar Salecha   2010-06-13  1876  	producer = rds_ring->producer;
2227bae22becb8 drivers/net/netxen/netxen_nic_init.c                 Amit Kumar Salecha   2010-06-13  1877  
d9e651bc06690c drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-07-21  1878  	head = &rds_ring->free_list;
d9e651bc06690c drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-07-21  1879  	while (!list_empty(head)) {
d9e651bc06690c drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-07-21  1880  
d8b100c5da003b drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1881  		buffer = list_entry(head->next, struct netxen_rx_buffer, list);
6f70340698333f drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-01-14  1882  
d8b100c5da003b drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1883  		if (!buffer->skb) {
d8b100c5da003b drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1884  			if (netxen_alloc_rx_skb(adapter, rds_ring, buffer))
6f70340698333f drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-01-14  1885  				break;
6f70340698333f drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-01-14  1886  		}
6f70340698333f drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-01-14  1887  
6f70340698333f drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-01-14  1888  		count++;
d9e651bc06690c drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-07-21  1889  		list_del(&buffer->list);
d9e651bc06690c drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-07-21  1890  
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1891  		/* make a rcv descriptor  */
6f70340698333f drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-01-14  1892  		pdesc = &rds_ring->desc_head[producer];
ed33ebe464d973 drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-12-18  1893  		pdesc->reference_handle = cpu_to_le16(buffer->ref_handle);
48bfd1e0fc66b2 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-07-21  1894  		pdesc->buffer_length = cpu_to_le32(rds_ring->dma_size);
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1895  		pdesc->addr_buffer = cpu_to_le64(buffer->dma);
6f70340698333f drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-01-14  1896  
438627c77b877e drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1897  		producer = get_next_index(producer, rds_ring->num_desc);
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1898  	}
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1899  
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1900  	if (count) {
48bfd1e0fc66b2 drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2008-07-21  1901  		rds_ring->producer = producer;
195c5f98294078 drivers/net/netxen/netxen_nic_init.c                 Amit Kumar Salecha   2009-09-05  1902  		NXWRIO(adapter, rds_ring->crb_rcv_producer,
438627c77b877e drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13  1903  				(producer - 1) & (rds_ring->num_desc - 1));
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1904  	}
d8b100c5da003b drivers/net/netxen/netxen_nic_init.c                 Dhananjay Phadke     2009-03-13 @1905  	spin_unlock(&rds_ring->lock);
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1906  }
3d396eb17e9f8c drivers/net/netxen/netxen_nic_init.c                 Amit S. Kale         2006-10-21  1907  

:::::: The code at line 1799 was first introduced by commit
:::::: d877f1e344f5515988d9dcd6db5d4285911778a3 netxen: refactor transmit code

:::::: TO: Dhananjay Phadke <dhananjay@netxen.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: 40357 bytes --]

                 reply	other threads:[~2021-08-28 13:20 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202108282131.JvAYs0ia-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.