From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B080DC433DB for ; Wed, 10 Mar 2021 07:32:21 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id C866E64FFA for ; Wed, 10 Mar 2021 07:32:20 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C866E64FFA Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 535BC8D017A; Wed, 10 Mar 2021 02:32:20 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 50DF18D0148; Wed, 10 Mar 2021 02:32:20 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 35F828D017A; Wed, 10 Mar 2021 02:32:20 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0120.hostedemail.com [216.40.44.120]) by kanga.kvack.org (Postfix) with ESMTP id 0C73C8D0148 for ; Wed, 10 Mar 2021 02:32:20 -0500 (EST) Received: from smtpin18.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id BD57F824934B for ; Wed, 10 Mar 2021 07:32:19 +0000 (UTC) X-FDA: 77903146398.18.090A4A4 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by imf22.hostedemail.com (Postfix) with ESMTP id 36EE0C0007DF for ; Wed, 10 Mar 2021 07:32:16 +0000 (UTC) IronPort-SDR: mvSC73luLTtt0QDgyZ3mgJfQXJqTvWgSr49BiJqO3IDh+x6TlEamNgTOEEYdhSeRrlfw6CuVbi 14zbbB/Evp1g== X-IronPort-AV: E=McAfee;i="6000,8403,9917"; a="273446165" X-IronPort-AV: E=Sophos;i="5.81,237,1610438400"; d="gz'50?scan'50,208,50";a="273446165" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Mar 2021 23:32:06 -0800 IronPort-SDR: Ba3yziPSuH+BAD2l367ikx0vHm9k2mM/R0qokFHbZgzxN96cARN/GTTGD2vNtMfoNDPXtIs/M3 18xyGv0aRzsw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,237,1610438400"; d="gz'50?scan'50,208,50";a="602978891" Received: from lkp-server02.sh.intel.com (HELO ce64c092ff93) ([10.239.97.151]) by fmsmga005.fm.intel.com with ESMTP; 09 Mar 2021 23:32:00 -0800 Received: from kbuild by ce64c092ff93 with local (Exim 4.92) (envelope-from ) id 1lJtK4-00000w-12; Wed, 10 Mar 2021 07:32:00 +0000 Date: Wed, 10 Mar 2021 15:27:51 +0800 From: kernel test robot To: Luc Van Oostenryck Cc: kbuild-all@lists.01.org, Linux Memory Management List , Andrew Morton Subject: [linux-next:master 2744/3213] drivers/net/ethernet/broadcom/cnic.c:4940:33: sparse: sparse: incorrect type in assignment (different base types) Message-ID: <202103101539.kb0KriXH-lkp@intel.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="DocE+STaALJfprDB" Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) X-Stat-Signature: 5qkb8xqjysforczzrhkz9zewdpnguqui X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 36EE0C0007DF Received-SPF: none (intel.com>: No applicable sender policy available) receiver=imf22; identity=mailfrom; envelope-from=""; helo=mga05.intel.com; client-ip=192.55.52.43 X-HE-DKIM-Result: none/none X-HE-Tag: 1615361536-98195 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: --DocE+STaALJfprDB Content-Type: text/plain; charset=us-ascii Content-Disposition: inline tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: b01d57bfdc41c8f635b08b8a5af8a31217d46936 commit: 960984d964a9341cf50bf2b4ffdf0beb14467517 [2744/3213] include/linux/compiler-gcc.h: sparse can do constant folding of __builtin_bswap*() config: x86_64-randconfig-s021-20210309 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.3-262-g5e674421-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=960984d964a9341cf50bf2b4ffdf0beb14467517 git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git fetch --no-tags linux-next master git checkout 960984d964a9341cf50bf2b4ffdf0beb14467517 # 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 "sparse warnings: (new ones prefixed by >>)" drivers/net/ethernet/broadcom/cnic.c:1838:48: sparse: got unsigned long long drivers/net/ethernet/broadcom/cnic.c:1840:48: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] hi @@ got unsigned long long @@ drivers/net/ethernet/broadcom/cnic.c:1840:48: sparse: expected restricted __le32 [usertype] hi drivers/net/ethernet/broadcom/cnic.c:1840:48: sparse: got unsigned long long drivers/net/ethernet/broadcom/cnic.c:1842:48: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] lo @@ got unsigned int [usertype] @@ drivers/net/ethernet/broadcom/cnic.c:1842:48: sparse: expected restricted __le32 [usertype] lo drivers/net/ethernet/broadcom/cnic.c:1842:48: sparse: got unsigned int [usertype] drivers/net/ethernet/broadcom/cnic.c:1843:48: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] hi @@ got unsigned int [usertype] @@ drivers/net/ethernet/broadcom/cnic.c:1843:48: sparse: expected restricted __le32 [usertype] hi drivers/net/ethernet/broadcom/cnic.c:1843:48: sparse: got unsigned int [usertype] drivers/net/ethernet/broadcom/cnic.c:1844:50: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] lo @@ got unsigned long long @@ drivers/net/ethernet/broadcom/cnic.c:1844:50: sparse: expected restricted __le32 [usertype] lo drivers/net/ethernet/broadcom/cnic.c:1844:50: sparse: got unsigned long long drivers/net/ethernet/broadcom/cnic.c:1846:50: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] hi @@ got unsigned long long @@ drivers/net/ethernet/broadcom/cnic.c:1846:50: sparse: expected restricted __le32 [usertype] hi drivers/net/ethernet/broadcom/cnic.c:1846:50: sparse: got unsigned long long drivers/net/ethernet/broadcom/cnic.c:1850:47: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] lo @@ got unsigned int @@ drivers/net/ethernet/broadcom/cnic.c:1850:47: sparse: expected restricted __le32 [usertype] lo drivers/net/ethernet/broadcom/cnic.c:1850:47: sparse: got unsigned int drivers/net/ethernet/broadcom/cnic.c:1852:47: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] hi @@ got unsigned int [usertype] cq_page_table_addr_hi @@ drivers/net/ethernet/broadcom/cnic.c:1852:47: sparse: expected restricted __le32 [usertype] hi drivers/net/ethernet/broadcom/cnic.c:1852:47: sparse: got unsigned int [usertype] cq_page_table_addr_hi drivers/net/ethernet/broadcom/cnic.c:2071:17: sparse: sparse: cast from restricted __sum16 drivers/net/ethernet/broadcom/cnic.c:2320:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] lo @@ got unsigned long long @@ drivers/net/ethernet/broadcom/cnic.c:2320:35: sparse: expected restricted __le32 [usertype] lo drivers/net/ethernet/broadcom/cnic.c:2320:35: sparse: got unsigned long long drivers/net/ethernet/broadcom/cnic.c:2321:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] hi @@ got unsigned long long @@ drivers/net/ethernet/broadcom/cnic.c:2321:35: sparse: expected restricted __le32 [usertype] hi drivers/net/ethernet/broadcom/cnic.c:2321:35: sparse: got unsigned long long drivers/net/ethernet/broadcom/cnic.c:2322:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] eq_pbl_size @@ got int num_pages @@ drivers/net/ethernet/broadcom/cnic.c:2322:32: sparse: expected restricted __le32 [usertype] eq_pbl_size drivers/net/ethernet/broadcom/cnic.c:2322:32: sparse: got int num_pages drivers/net/ethernet/broadcom/cnic.c:2324:27: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] sb_num @@ got unsigned int [usertype] status_blk_num @@ drivers/net/ethernet/broadcom/cnic.c:2324:27: sparse: expected restricted __le16 [usertype] sb_num drivers/net/ethernet/broadcom/cnic.c:2324:27: sparse: got unsigned int [usertype] status_blk_num drivers/net/ethernet/broadcom/cnic.c:2325:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] eq_prod @@ got unsigned long @@ drivers/net/ethernet/broadcom/cnic.c:2325:28: sparse: expected restricted __le16 [usertype] eq_prod drivers/net/ethernet/broadcom/cnic.c:2325:28: sparse: got unsigned long drivers/net/ethernet/broadcom/cnic.c:2366:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] l5_cid @@ got restricted __le16 [usertype] fcoe_conn_id @@ drivers/net/ethernet/broadcom/cnic.c:2366:16: sparse: expected unsigned int [usertype] l5_cid drivers/net/ethernet/broadcom/cnic.c:2366:16: sparse: got restricted __le16 [usertype] fcoe_conn_id drivers/net/ethernet/broadcom/cnic.c:2423:27: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [addressable] [assigned] [usertype] fcoe_conn_id @@ got restricted __le16 [usertype] fcoe_conn_id @@ drivers/net/ethernet/broadcom/cnic.c:2423:27: sparse: expected restricted __le32 [addressable] [assigned] [usertype] fcoe_conn_id drivers/net/ethernet/broadcom/cnic.c:2423:27: sparse: got restricted __le16 [usertype] fcoe_conn_id drivers/net/ethernet/broadcom/cnic.c:2424:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [addressable] [assigned] [usertype] completion_status @@ got int @@ drivers/net/ethernet/broadcom/cnic.c:2424:32: sparse: expected restricted __le32 [addressable] [assigned] [usertype] completion_status drivers/net/ethernet/broadcom/cnic.c:2424:32: sparse: got int drivers/net/ethernet/broadcom/cnic.c:2441:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] cid @@ got restricted __le32 [usertype] context_id @@ drivers/net/ethernet/broadcom/cnic.c:2441:13: sparse: expected unsigned int [usertype] cid drivers/net/ethernet/broadcom/cnic.c:2441:13: sparse: got restricted __le32 [usertype] context_id drivers/net/ethernet/broadcom/cnic.c:2442:21: sparse: sparse: restricted __le32 degrades to integer drivers/net/ethernet/broadcom/cnic.c:2469:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] cid @@ got restricted __le32 [usertype] context_id @@ drivers/net/ethernet/broadcom/cnic.c:2469:13: sparse: expected unsigned int [usertype] cid drivers/net/ethernet/broadcom/cnic.c:2469:13: sparse: got restricted __le32 [usertype] context_id drivers/net/ethernet/broadcom/cnic.c:2470:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] l5_cid @@ got restricted __le32 [usertype] conn_id @@ drivers/net/ethernet/broadcom/cnic.c:2470:16: sparse: expected unsigned int [usertype] l5_cid drivers/net/ethernet/broadcom/cnic.c:2470:16: sparse: got restricted __le32 [usertype] conn_id drivers/net/ethernet/broadcom/cnic.c:2503:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] cid @@ got restricted __le32 [usertype] context_id @@ drivers/net/ethernet/broadcom/cnic.c:2503:13: sparse: expected unsigned int [usertype] cid drivers/net/ethernet/broadcom/cnic.c:2503:13: sparse: got restricted __le32 [usertype] context_id drivers/net/ethernet/broadcom/cnic.c:2504:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] l5_cid @@ got restricted __le32 [usertype] conn_id @@ drivers/net/ethernet/broadcom/cnic.c:2504:16: sparse: expected unsigned int [usertype] l5_cid drivers/net/ethernet/broadcom/cnic.c:2504:16: sparse: got restricted __le32 [usertype] conn_id drivers/net/ethernet/broadcom/cnic.c:2516:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [addressable] [usertype] completion_status @@ got int @@ drivers/net/ethernet/broadcom/cnic.c:2516:32: sparse: expected restricted __le32 [addressable] [usertype] completion_status drivers/net/ethernet/broadcom/cnic.c:2516:32: sparse: got int drivers/net/ethernet/broadcom/cnic.c:2531:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [addressable] [assigned] [usertype] fcoe_conn_context_id @@ got unsigned int [usertype] cid @@ drivers/net/ethernet/broadcom/cnic.c:2531:35: sparse: expected restricted __le32 [addressable] [assigned] [usertype] fcoe_conn_context_id drivers/net/ethernet/broadcom/cnic.c:2531:35: sparse: got unsigned int [usertype] cid drivers/net/ethernet/broadcom/cnic.c:2603:29: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [assigned] [usertype] cid @@ got restricted __le32 [usertype] context_id @@ drivers/net/ethernet/broadcom/cnic.c:2603:29: sparse: expected unsigned int [assigned] [usertype] cid drivers/net/ethernet/broadcom/cnic.c:2603:29: sparse: got restricted __le32 [usertype] context_id drivers/net/ethernet/broadcom/cnic.c:2604:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] l5_cid @@ got restricted __le32 [usertype] conn_id @@ drivers/net/ethernet/broadcom/cnic.c:2604:32: sparse: expected unsigned int [usertype] l5_cid drivers/net/ethernet/broadcom/cnic.c:2604:32: sparse: got restricted __le32 [usertype] conn_id drivers/net/ethernet/broadcom/cnic.c:3505:40: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/broadcom/cnic.c:3506:40: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/broadcom/cnic.c:3507:40: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/broadcom/cnic.c:3508:40: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/broadcom/cnic.c:3509:40: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/broadcom/cnic.c:3510:40: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/broadcom/cnic.c:3525:27: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/broadcom/cnic.c:3526:27: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/broadcom/cnic.c:3527:29: sparse: sparse: cast to restricted __be16 drivers/net/ethernet/broadcom/cnic.c:3528:29: sparse: sparse: cast to restricted __be16 drivers/net/ethernet/broadcom/cnic.c:3631:49: sparse: sparse: cast to restricted __be16 drivers/net/ethernet/broadcom/cnic.c:3783:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] dst_port @@ got restricted __be16 [usertype] sin6_port @@ drivers/net/ethernet/broadcom/cnic.c:3783:31: sparse: expected unsigned short [usertype] dst_port drivers/net/ethernet/broadcom/cnic.c:3783:31: sparse: got restricted __be16 [usertype] sin6_port drivers/net/ethernet/broadcom/cnic.c:3789:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int @@ got restricted __be32 [usertype] s_addr @@ drivers/net/ethernet/broadcom/cnic.c:3789:32: sparse: expected unsigned int drivers/net/ethernet/broadcom/cnic.c:3789:32: sparse: got restricted __be32 [usertype] s_addr drivers/net/ethernet/broadcom/cnic.c:3790:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] dst_port @@ got restricted __be16 [usertype] sin_port @@ drivers/net/ethernet/broadcom/cnic.c:3790:31: sparse: expected unsigned short [usertype] dst_port drivers/net/ethernet/broadcom/cnic.c:3790:31: sparse: got restricted __be16 [usertype] sin_port drivers/net/ethernet/broadcom/cnic.c:3820:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] src_port @@ got restricted __be16 [assigned] [usertype] local_port @@ drivers/net/ethernet/broadcom/cnic.c:3820:23: sparse: expected unsigned short [usertype] src_port drivers/net/ethernet/broadcom/cnic.c:3820:23: sparse: got restricted __be16 [assigned] [usertype] local_port drivers/net/ethernet/broadcom/cnic.c:3977:29: sparse: sparse: restricted __le32 degrades to integer drivers/net/ethernet/broadcom/cnic.c:4940:43: sparse: sparse: restricted __le32 degrades to integer >> drivers/net/ethernet/broadcom/cnic.c:4940:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] addr_lo @@ got unsigned int @@ drivers/net/ethernet/broadcom/cnic.c:4940:33: sparse: expected restricted __le32 [usertype] addr_lo drivers/net/ethernet/broadcom/cnic.c:4940:33: sparse: got unsigned int >> drivers/net/ethernet/broadcom/cnic.c:4948:46: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] parsing_data @@ got int @@ drivers/net/ethernet/broadcom/cnic.c:4948:46: sparse: expected restricted __le32 [usertype] parsing_data drivers/net/ethernet/broadcom/cnic.c:4948:46: sparse: got int >> drivers/net/ethernet/broadcom/cnic.c:4951:46: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] global_data @@ got int @@ drivers/net/ethernet/broadcom/cnic.c:4951:46: sparse: expected restricted __le16 [usertype] global_data drivers/net/ethernet/broadcom/cnic.c:4951:46: sparse: got int >> drivers/net/ethernet/broadcom/cnic.c:4976:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] *tx_cons_ptr @@ got restricted __le16 * @@ drivers/net/ethernet/broadcom/cnic.c:4976:25: sparse: expected unsigned short [usertype] *tx_cons_ptr drivers/net/ethernet/broadcom/cnic.c:4976:25: sparse: got restricted __le16 * >> drivers/net/ethernet/broadcom/cnic.c:5041:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] silent_vlan_mask @@ got int @@ drivers/net/ethernet/broadcom/cnic.c:5041:35: sparse: expected restricted __le16 [usertype] silent_vlan_mask drivers/net/ethernet/broadcom/cnic.c:5041:35: sparse: got int >> drivers/net/ethernet/broadcom/cnic.c:5043:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] *rx_cons_ptr @@ got restricted __le16 * @@ drivers/net/ethernet/broadcom/cnic.c:5043:25: sparse: expected unsigned short [usertype] *rx_cons_ptr drivers/net/ethernet/broadcom/cnic.c:5043:25: sparse: got restricted __le16 * >> drivers/net/ethernet/broadcom/cnic.c:5061:42: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] *hw_prod_idx_ptr @@ got restricted __le16 * @@ drivers/net/ethernet/broadcom/cnic.c:5061:42: sparse: expected unsigned short [usertype] *hw_prod_idx_ptr drivers/net/ethernet/broadcom/cnic.c:5061:42: sparse: got restricted __le16 * >> drivers/net/ethernet/broadcom/cnic.c:5063:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] *status_idx_ptr @@ got restricted __le16 * @@ drivers/net/ethernet/broadcom/cnic.c:5063:41: sparse: expected unsigned short [usertype] *status_idx_ptr drivers/net/ethernet/broadcom/cnic.c:5063:41: sparse: got restricted __le16 * drivers/net/ethernet/broadcom/cnic.c:5068:42: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] *hw_prod_idx_ptr @@ got restricted __le16 * @@ drivers/net/ethernet/broadcom/cnic.c:5068:42: sparse: expected unsigned short [usertype] *hw_prod_idx_ptr drivers/net/ethernet/broadcom/cnic.c:5068:42: sparse: got restricted __le16 * drivers/net/ethernet/broadcom/cnic.c:5070:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] *status_idx_ptr @@ got restricted __le16 * @@ drivers/net/ethernet/broadcom/cnic.c:5070:41: sparse: expected unsigned short [usertype] *status_idx_ptr drivers/net/ethernet/broadcom/cnic.c:5070:41: sparse: got restricted __le16 * drivers/net/ethernet/broadcom/cnic.c:5080:42: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] *hw_prod_idx_ptr @@ got restricted __le16 * @@ drivers/net/ethernet/broadcom/cnic.c:5080:42: sparse: expected unsigned short [usertype] *hw_prod_idx_ptr drivers/net/ethernet/broadcom/cnic.c:5080:42: sparse: got restricted __le16 * drivers/net/ethernet/broadcom/cnic.c:5082:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] *status_idx_ptr @@ got restricted __le16 * @@ drivers/net/ethernet/broadcom/cnic.c:5082:41: sparse: expected unsigned short [usertype] *status_idx_ptr drivers/net/ethernet/broadcom/cnic.c:5082:41: sparse: got restricted __le16 * vim +4940 drivers/net/ethernet/broadcom/cnic.c 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4913 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 4914 static void cnic_init_bnx2x_tx_ring(struct cnic_dev *dev, 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 4915 struct client_init_ramrod_data *data) 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4916 { 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4917 struct cnic_local *cp = dev->cnic_priv; 104a43edb26432 drivers/net/ethernet/broadcom/cnic.c Michael Chan 2013-09-02 4918 struct bnx2x *bp = netdev_priv(dev->netdev); cd801536c236e2 drivers/net/cnic.c Michael Chan 2010-10-13 4919 struct cnic_uio_dev *udev = cp->udev; cd801536c236e2 drivers/net/cnic.c Michael Chan 2010-10-13 4920 union eth_tx_bd_types *txbd = (union eth_tx_bd_types *) udev->l2_ring; cd801536c236e2 drivers/net/cnic.c Michael Chan 2010-10-13 4921 dma_addr_t buf_map, ring_map = udev->l2_ring_map; 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 4922 struct host_sp_status_block *sb = cp->bnx2x_def_status_blk; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4923 int i; 5159fdc1e6cb40 drivers/net/cnic.c Michael Chan 2010-12-23 4924 u32 cli = cp->ethdev->iscsi_l2_client_id; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4925 u32 val; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4926 be1fefc21433f6 drivers/net/ethernet/broadcom/cnic.c Michael Chan 2014-03-17 4927 memset(txbd, 0, CNIC_PAGE_SIZE); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4928 cd801536c236e2 drivers/net/cnic.c Michael Chan 2010-10-13 4929 buf_map = udev->l2_buf_map; 2bc4078e92b283 drivers/net/ethernet/broadcom/cnic.c Michael Chan 2012-12-06 4930 for (i = 0; i < BNX2_MAX_TX_DESC_CNT; i += 3, txbd += 3) { 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4931 struct eth_tx_start_bd *start_bd = &txbd->start_bd; 96bed4b954fd5e drivers/net/ethernet/broadcom/cnic.c Yuval Mintz 2012-10-01 4932 struct eth_tx_parse_bd_e1x *pbd_e1x = 96bed4b954fd5e drivers/net/ethernet/broadcom/cnic.c Yuval Mintz 2012-10-01 4933 &((txbd + 1)->parse_bd_e1x); 96bed4b954fd5e drivers/net/ethernet/broadcom/cnic.c Yuval Mintz 2012-10-01 4934 struct eth_tx_parse_bd_e2 *pbd_e2 = &((txbd + 1)->parse_bd_e2); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4935 struct eth_tx_bd *reg_bd = &((txbd + 2)->reg_bd); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4936 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4937 start_bd->addr_hi = cpu_to_le32((u64) buf_map >> 32); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4938 start_bd->addr_lo = cpu_to_le32(buf_map & 0xffffffff); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4939 reg_bd->addr_hi = start_bd->addr_hi; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 @4940 reg_bd->addr_lo = start_bd->addr_lo + 0x10; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4941 start_bd->nbytes = cpu_to_le16(0x10); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4942 start_bd->nbd = cpu_to_le16(3); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4943 start_bd->bd_flags.as_bitfield = ETH_TX_BD_FLAGS_START_BD; 96bed4b954fd5e drivers/net/ethernet/broadcom/cnic.c Yuval Mintz 2012-10-01 4944 start_bd->general_data &= ~ETH_TX_START_BD_PARSE_NBDS; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4945 start_bd->general_data |= (1 << ETH_TX_START_BD_HDR_NBDS_SHIFT); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4946 104a43edb26432 drivers/net/ethernet/broadcom/cnic.c Michael Chan 2013-09-02 4947 if (BNX2X_CHIP_IS_E2_PLUS(bp)) 96bed4b954fd5e drivers/net/ethernet/broadcom/cnic.c Yuval Mintz 2012-10-01 @4948 pbd_e2->parsing_data = (UNICAST_ADDRESS << 96bed4b954fd5e drivers/net/ethernet/broadcom/cnic.c Yuval Mintz 2012-10-01 4949 ETH_TX_PARSE_BD_E2_ETH_ADDR_TYPE_SHIFT); 96bed4b954fd5e drivers/net/ethernet/broadcom/cnic.c Yuval Mintz 2012-10-01 4950 else 96bed4b954fd5e drivers/net/ethernet/broadcom/cnic.c Yuval Mintz 2012-10-01 @4951 pbd_e1x->global_data = (UNICAST_ADDRESS << 96bed4b954fd5e drivers/net/ethernet/broadcom/cnic.c Yuval Mintz 2012-10-01 4952 ETH_TX_PARSE_BD_E1X_ETH_ADDR_TYPE_SHIFT); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4953 } 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4954 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 4955 val = (u64) ring_map >> 32; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4956 txbd->next_bd.addr_hi = cpu_to_le32(val); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4957 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 4958 data->tx.tx_bd_page_base.hi = cpu_to_le32(val); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4959 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 4960 val = (u64) ring_map & 0xffffffff; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4961 txbd->next_bd.addr_lo = cpu_to_le32(val); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4962 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 4963 data->tx.tx_bd_page_base.lo = cpu_to_le32(val); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4964 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 4965 /* Other ramrod params */ 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 4966 data->tx.tx_sb_index_number = HC_SP_INDEX_ETH_ISCSI_CQ_CONS; 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 4967 data->tx.tx_status_block_id = BNX2X_DEF_SB_ID; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4968 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4969 /* reset xstorm per client statistics */ 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 4970 if (cli < MAX_STAT_COUNTER_ID) { 619c5cb6885b93 drivers/net/cnic.c Vlad Zolotarov 2011-06-14 4971 data->general.statistics_zero_flg = 1; 619c5cb6885b93 drivers/net/cnic.c Vlad Zolotarov 2011-06-14 4972 data->general.statistics_en_flg = 1; 619c5cb6885b93 drivers/net/cnic.c Vlad Zolotarov 2011-06-14 4973 data->general.statistics_counter_id = cli; 6b2a541db58dba drivers/net/cnic.c Dmitry Kravkov 2010-06-23 4974 } 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4975 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 @4976 cp->tx_cons_ptr = 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 4977 &sb->sp_sb.index_values[HC_SP_INDEX_ETH_ISCSI_CQ_CONS]; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4978 } 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4979 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 4980 static void cnic_init_bnx2x_rx_ring(struct cnic_dev *dev, 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 4981 struct client_init_ramrod_data *data) 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4982 { 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4983 struct cnic_local *cp = dev->cnic_priv; 104a43edb26432 drivers/net/ethernet/broadcom/cnic.c Michael Chan 2013-09-02 4984 struct bnx2x *bp = netdev_priv(dev->netdev); cd801536c236e2 drivers/net/cnic.c Michael Chan 2010-10-13 4985 struct cnic_uio_dev *udev = cp->udev; cd801536c236e2 drivers/net/cnic.c Michael Chan 2010-10-13 4986 struct eth_rx_bd *rxbd = (struct eth_rx_bd *) (udev->l2_ring + be1fefc21433f6 drivers/net/ethernet/broadcom/cnic.c Michael Chan 2014-03-17 4987 CNIC_PAGE_SIZE); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4988 struct eth_rx_cqe_next_page *rxcqe = (struct eth_rx_cqe_next_page *) be1fefc21433f6 drivers/net/ethernet/broadcom/cnic.c Michael Chan 2014-03-17 4989 (udev->l2_ring + (2 * CNIC_PAGE_SIZE)); 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 4990 struct host_sp_status_block *sb = cp->bnx2x_def_status_blk; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4991 int i; 5159fdc1e6cb40 drivers/net/cnic.c Michael Chan 2010-12-23 4992 u32 cli = cp->ethdev->iscsi_l2_client_id; 104a43edb26432 drivers/net/ethernet/broadcom/cnic.c Michael Chan 2013-09-02 4993 int cl_qzone_id = BNX2X_CL_QZONE_ID(bp, cli); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 4994 u32 val; cd801536c236e2 drivers/net/cnic.c Michael Chan 2010-10-13 4995 dma_addr_t ring_map = udev->l2_ring_map; 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 4996 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 4997 /* General data */ 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 4998 data->general.client_id = cli; 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 4999 data->general.activate_flg = 1; 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 5000 data->general.sp_client_id = cli; 619c5cb6885b93 drivers/net/cnic.c Vlad Zolotarov 2011-06-14 5001 data->general.mtu = cpu_to_le16(cp->l2_single_buf_size - 14); a5b3c4ae27f0f6 drivers/net/ethernet/broadcom/cnic.c Michael Chan 2013-09-02 5002 data->general.func_id = bp->pfid; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5003 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5004 for (i = 0; i < BNX2X_MAX_RX_DESC_CNT; i++, rxbd++) { 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5005 dma_addr_t buf_map; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5006 int n = (i % cp->l2_rx_ring_size) + 1; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5007 cd801536c236e2 drivers/net/cnic.c Michael Chan 2010-10-13 5008 buf_map = udev->l2_buf_map + (n * cp->l2_single_buf_size); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5009 rxbd->addr_hi = cpu_to_le32((u64) buf_map >> 32); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5010 rxbd->addr_lo = cpu_to_le32(buf_map & 0xffffffff); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5011 } 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5012 be1fefc21433f6 drivers/net/ethernet/broadcom/cnic.c Michael Chan 2014-03-17 5013 val = (u64) (ring_map + CNIC_PAGE_SIZE) >> 32; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5014 rxbd->addr_hi = cpu_to_le32(val); 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 5015 data->rx.bd_page_base.hi = cpu_to_le32(val); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5016 be1fefc21433f6 drivers/net/ethernet/broadcom/cnic.c Michael Chan 2014-03-17 5017 val = (u64) (ring_map + CNIC_PAGE_SIZE) & 0xffffffff; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5018 rxbd->addr_lo = cpu_to_le32(val); 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 5019 data->rx.bd_page_base.lo = cpu_to_le32(val); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5020 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5021 rxcqe += BNX2X_MAX_RCQ_DESC_CNT; be1fefc21433f6 drivers/net/ethernet/broadcom/cnic.c Michael Chan 2014-03-17 5022 val = (u64) (ring_map + (2 * CNIC_PAGE_SIZE)) >> 32; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5023 rxcqe->addr_hi = cpu_to_le32(val); 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 5024 data->rx.cqe_page_base.hi = cpu_to_le32(val); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5025 be1fefc21433f6 drivers/net/ethernet/broadcom/cnic.c Michael Chan 2014-03-17 5026 val = (u64) (ring_map + (2 * CNIC_PAGE_SIZE)) & 0xffffffff; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5027 rxcqe->addr_lo = cpu_to_le32(val); 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 5028 data->rx.cqe_page_base.lo = cpu_to_le32(val); 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5029 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 5030 /* Other ramrod params */ 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 5031 data->rx.client_qzone_id = cl_qzone_id; 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 5032 data->rx.rx_sb_index_number = HC_SP_INDEX_ETH_ISCSI_RX_CQ_CONS; 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 5033 data->rx.status_block_id = BNX2X_DEF_SB_ID; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5034 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 5035 data->rx.cache_line_alignment_log_size = L1_CACHE_SHIFT; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5036 619c5cb6885b93 drivers/net/cnic.c Vlad Zolotarov 2011-06-14 5037 data->rx.max_bytes_on_bd = cpu_to_le16(cp->l2_single_buf_size); 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 5038 data->rx.outer_vlan_removal_enable_flg = 1; 619c5cb6885b93 drivers/net/cnic.c Vlad Zolotarov 2011-06-14 5039 data->rx.silent_vlan_removal_flg = 1; 619c5cb6885b93 drivers/net/cnic.c Vlad Zolotarov 2011-06-14 5040 data->rx.silent_vlan_value = 0; 619c5cb6885b93 drivers/net/cnic.c Vlad Zolotarov 2011-06-14 @5041 data->rx.silent_vlan_mask = 0xffff; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5042 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 @5043 cp->rx_cons_ptr = 523224a3b3cd40 drivers/net/cnic.c Dmitry Kravkov 2010-10-06 5044 &sb->sp_sb.index_values[HC_SP_INDEX_ETH_ISCSI_RX_CQ_CONS]; 5159fdc1e6cb40 drivers/net/cnic.c Michael Chan 2010-12-23 5045 cp->rx_cons = *cp->rx_cons_ptr; 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5046 } 71034ba845c9ff drivers/net/cnic.c Michael Chan 2009-10-10 5047 e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5048 static void cnic_init_bnx2x_kcq(struct cnic_dev *dev) e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5049 { e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5050 struct cnic_local *cp = dev->cnic_priv; 68c64d2034faa0 drivers/net/ethernet/broadcom/cnic.c Michael Chan 2012-12-06 5051 struct bnx2x *bp = netdev_priv(dev->netdev); a5b3c4ae27f0f6 drivers/net/ethernet/broadcom/cnic.c Michael Chan 2013-09-02 5052 u32 pfid = bp->pfid; e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5053 e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5054 cp->kcq1.io_addr = BAR_CSTRORM_INTMEM + e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5055 CSTORM_ISCSI_EQ_PROD_OFFSET(pfid, 0); e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5056 cp->kcq1.sw_prod_idx = 0; e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5057 104a43edb26432 drivers/net/ethernet/broadcom/cnic.c Michael Chan 2013-09-02 5058 if (BNX2X_CHIP_IS_E2_PLUS(bp)) { e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5059 struct host_hc_status_block_e2 *sb = cp->status_blk.gen; e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5060 e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 @5061 cp->kcq1.hw_prod_idx_ptr = e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5062 &sb->sb.index_values[HC_INDEX_ISCSI_EQ_CONS]; e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 @5063 cp->kcq1.status_idx_ptr = e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5064 &sb->sb.running_index[SM_RX_ID]; e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5065 } else { e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5066 struct host_hc_status_block_e1x *sb = cp->status_blk.gen; e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5067 e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5068 cp->kcq1.hw_prod_idx_ptr = e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5069 &sb->sb.index_values[HC_INDEX_ISCSI_EQ_CONS]; e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5070 cp->kcq1.status_idx_ptr = e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5071 &sb->sb.running_index[SM_RX_ID]; e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5072 } e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5073 104a43edb26432 drivers/net/ethernet/broadcom/cnic.c Michael Chan 2013-09-02 5074 if (BNX2X_CHIP_IS_E2_PLUS(bp)) { e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5075 struct host_hc_status_block_e2 *sb = cp->status_blk.gen; e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5076 e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5077 cp->kcq2.io_addr = BAR_USTRORM_INTMEM + e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5078 USTORM_FCOE_EQ_PROD_OFFSET(pfid); e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5079 cp->kcq2.sw_prod_idx = 0; e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5080 cp->kcq2.hw_prod_idx_ptr = e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5081 &sb->sb.index_values[HC_INDEX_FCOE_EQ_CONS]; e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5082 cp->kcq2.status_idx_ptr = e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5083 &sb->sb.running_index[SM_RX_ID]; e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5084 } e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5085 } e21ba414eed8a2 drivers/net/cnic.c Michael Chan 2010-12-23 5086 :::::: The code at line 4940 was first introduced by commit :::::: 71034ba845c9ff219373066f904286c0b7506922 cnic: Add main functions to support bnx2x devices. :::::: TO: Michael Chan :::::: CC: David S. Miller --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --DocE+STaALJfprDB Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 3/9/ylNpkD/ZAQA= --DocE+STaALJfprDB--