From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: drivers/net/ethernet/intel/iavf/iavf_main.c:2309 iavf_reset_task() warn: inconsistent returns '&adapter->crit_lock'.
Date: Mon, 21 Feb 2022 10:11:58 +0800 [thread overview]
Message-ID: <202202211059.WMsT3X8t-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 31235 bytes --]
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Stefan Assmann <sassmann@kpanic.de>
CC: Tony Nguyen <anthony.l.nguyen@intel.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: cfb92440ee71adcc2105b0890bb01ac3cddb8507
commit: 5ac49f3c2702f269d31cc37eb9308bc557953c4d iavf: use mutexes for locking of critical sections
date: 6 months ago
:::::: branch date: 5 hours ago
:::::: commit date: 6 months ago
config: ia64-randconfig-m031-20220220 (https://download.01.org/0day-ci/archive/20220221/202202211059.WMsT3X8t-lkp(a)intel.com/config)
compiler: ia64-linux-gcc (GCC) 11.2.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/net/ethernet/intel/iavf/iavf_main.c:2309 iavf_reset_task() warn: inconsistent returns '&adapter->crit_lock'.
vim +2309 drivers/net/ethernet/intel/iavf/iavf_main.c
dedecb6d429bd3 drivers/net/ethernet/intel/i40evf/i40evf_main.c Joe Perches 2016-11-01 2088
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2089 /**
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2090 * iavf_reset_task - Call-back task to handle hardware reset
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2091 * @work: pointer to work_struct
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2092 *
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2093 * During reset we need to shut down and reinitialize the admin queue
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2094 * before we can use it to communicate with the PF again. We also clear
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2095 * and reinit the rings because that context is lost as well.
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2096 **/
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2097 static void iavf_reset_task(struct work_struct *work)
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2098 {
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2099 struct iavf_adapter *adapter = container_of(work,
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2100 struct iavf_adapter,
ef8693eb90ae38 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2014-02-13 2101 reset_task);
0075fa0fadd0ac drivers/net/ethernet/intel/i40evf/i40evf_main.c Harshitha Ramamurthy 2018-01-23 2102 struct virtchnl_vf_resource *vfres = adapter->vf_res;
ac833bbf7958bb drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-01-29 2103 struct net_device *netdev = adapter->netdev;
f349daa58809ae drivers/net/ethernet/intel/iavf/iavf_main.c Jesse Brandeburg 2018-09-14 2104 struct iavf_hw *hw = &adapter->hw;
9e05229190380f drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2019-12-17 2105 struct iavf_mac_filter *f, *ftmp;
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2106 struct iavf_vlan_filter *vlf;
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2107 struct iavf_cloud_filter *cf;
ee5c1e92dd01d3 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-08-28 2108 u32 reg_val;
ac833bbf7958bb drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-01-29 2109 int i = 0, err;
44b034b406211f drivers/net/ethernet/intel/i40evf/i40evf_main.c Jacob Keller 2017-10-27 2110 bool running;
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2111
06aa040f039404 drivers/net/ethernet/intel/i40evf/i40evf_main.c Avinash Dayanand 2017-12-18 2112 /* When device is being removed it doesn't make sense to run the reset
06aa040f039404 drivers/net/ethernet/intel/i40evf/i40evf_main.c Avinash Dayanand 2017-12-18 2113 * task, just return in such a case.
06aa040f039404 drivers/net/ethernet/intel/i40evf/i40evf_main.c Avinash Dayanand 2017-12-18 2114 */
5ac49f3c2702f2 drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2021-08-04 2115 if (mutex_is_locked(&adapter->remove_lock))
06aa040f039404 drivers/net/ethernet/intel/i40evf/i40evf_main.c Avinash Dayanand 2017-12-18 2116 return;
06aa040f039404 drivers/net/ethernet/intel/i40evf/i40evf_main.c Avinash Dayanand 2017-12-18 2117
5ac49f3c2702f2 drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2021-08-04 2118 if (iavf_lock_timeout(&adapter->crit_lock, 200)) {
226d528512cfac drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2021-03-16 2119 schedule_work(&adapter->reset_task);
226d528512cfac drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2021-03-16 2120 return;
226d528512cfac drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2021-03-16 2121 }
5ac49f3c2702f2 drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2021-08-04 2122 while (!mutex_trylock(&adapter->client_lock))
f98a20068dfcc1 drivers/net/ethernet/intel/i40evf/i40evf_main.c Neerav Parikh 2014-09-13 2123 usleep_range(500, 1000);
ed0e894de7c133 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2017-01-24 2124 if (CLIENT_ENABLED(adapter)) {
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2125 adapter->flags &= ~(IAVF_FLAG_CLIENT_NEEDS_OPEN |
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2126 IAVF_FLAG_CLIENT_NEEDS_CLOSE |
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2127 IAVF_FLAG_CLIENT_NEEDS_L2_PARAMS |
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2128 IAVF_FLAG_SERVICE_CLIENT_REQUESTED);
ed0e894de7c133 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2017-01-24 2129 cancel_delayed_work_sync(&adapter->client_task);
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2130 iavf_notify_client_close(&adapter->vsi, true);
ed0e894de7c133 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2017-01-24 2131 }
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2132 iavf_misc_irq_disable(adapter);
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2133 if (adapter->flags & IAVF_FLAG_RESET_NEEDED) {
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2134 adapter->flags &= ~IAVF_FLAG_RESET_NEEDED;
67c818a1d58c78 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-06-19 2135 /* Restart the AQ here. If we have been reset but didn't
67c818a1d58c78 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-06-19 2136 * detect it, or if the PF had to reinit, our AQ will be hosed.
67c818a1d58c78 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-06-19 2137 */
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2138 iavf_shutdown_adminq(hw);
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2139 iavf_init_adminq(hw);
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2140 iavf_request_reset(adapter);
3526d8005f23da drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2014-03-06 2141 }
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2142 adapter->flags |= IAVF_FLAG_RESET_PENDING;
3526d8005f23da drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2014-03-06 2143
ef8693eb90ae38 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2014-02-13 2144 /* poll until we see the reset actually happen */
8e3e4b9da7e626 drivers/net/ethernet/intel/iavf/iavf_main.c Paul Greenwalt 2020-06-05 2145 for (i = 0; i < IAVF_RESET_WAIT_DETECTED_COUNT; i++) {
f1cad2ce06f28c drivers/net/ethernet/intel/iavf/iavf_main.c Jesse Brandeburg 2018-09-14 2146 reg_val = rd32(hw, IAVF_VF_ARQLEN1) &
f1cad2ce06f28c drivers/net/ethernet/intel/iavf/iavf_main.c Jesse Brandeburg 2018-09-14 2147 IAVF_VF_ARQLEN1_ARQENABLE_MASK;
ee5c1e92dd01d3 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-08-28 2148 if (!reg_val)
ef8693eb90ae38 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2014-02-13 2149 break;
ee5c1e92dd01d3 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-08-28 2150 usleep_range(5000, 10000);
ef8693eb90ae38 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2014-02-13 2151 }
8e3e4b9da7e626 drivers/net/ethernet/intel/iavf/iavf_main.c Paul Greenwalt 2020-06-05 2152 if (i == IAVF_RESET_WAIT_DETECTED_COUNT) {
67c818a1d58c78 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-06-19 2153 dev_info(&adapter->pdev->dev, "Never saw reset\n");
ef8693eb90ae38 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2014-02-13 2154 goto continue_reset; /* act like the reset happened */
ef8693eb90ae38 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2014-02-13 2155 }
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2156
ef8693eb90ae38 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2014-02-13 2157 /* wait until the reset is complete and the PF is responding to us */
8e3e4b9da7e626 drivers/net/ethernet/intel/iavf/iavf_main.c Paul Greenwalt 2020-06-05 2158 for (i = 0; i < IAVF_RESET_WAIT_COMPLETE_COUNT; i++) {
7d3f04af69bed2 drivers/net/ethernet/intel/i40evf/i40evf_main.c Jacob Keller 2016-10-05 2159 /* sleep first to make sure a minimum wait time is met */
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2160 msleep(IAVF_RESET_WAIT_MS);
7d3f04af69bed2 drivers/net/ethernet/intel/i40evf/i40evf_main.c Jacob Keller 2016-10-05 2161
f1cad2ce06f28c drivers/net/ethernet/intel/iavf/iavf_main.c Jesse Brandeburg 2018-09-14 2162 reg_val = rd32(hw, IAVF_VFGEN_RSTAT) &
f1cad2ce06f28c drivers/net/ethernet/intel/iavf/iavf_main.c Jesse Brandeburg 2018-09-14 2163 IAVF_VFGEN_RSTAT_VFR_STATE_MASK;
310a2ad92e3fd9 drivers/net/ethernet/intel/i40evf/i40evf_main.c Jesse Brandeburg 2017-05-11 2164 if (reg_val == VIRTCHNL_VFR_VFACTIVE)
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2165 break;
ef8693eb90ae38 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2014-02-13 2166 }
7d3f04af69bed2 drivers/net/ethernet/intel/i40evf/i40evf_main.c Jacob Keller 2016-10-05 2167
509a447ae80c2e drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-12-23 2168 pci_set_master(adapter->pdev);
7d3f04af69bed2 drivers/net/ethernet/intel/i40evf/i40evf_main.c Jacob Keller 2016-10-05 2169
8e3e4b9da7e626 drivers/net/ethernet/intel/iavf/iavf_main.c Paul Greenwalt 2020-06-05 2170 if (i == IAVF_RESET_WAIT_COMPLETE_COUNT) {
80e7289356cdba drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2014-05-10 2171 dev_err(&adapter->pdev->dev, "Reset never finished (%x)\n",
ee5c1e92dd01d3 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-08-28 2172 reg_val);
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2173 iavf_disable_vf(adapter);
5ac49f3c2702f2 drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2021-08-04 2174 mutex_unlock(&adapter->client_lock);
ef8693eb90ae38 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2014-02-13 2175 return; /* Do not attempt to reinit. It's dead, Jim. */
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2176 }
ef8693eb90ae38 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2014-02-13 2177
ef8693eb90ae38 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2014-02-13 2178 continue_reset:
44b034b406211f drivers/net/ethernet/intel/i40evf/i40evf_main.c Jacob Keller 2017-10-27 2179 /* We don't use netif_running() because it may be true prior to
44b034b406211f drivers/net/ethernet/intel/i40evf/i40evf_main.c Jacob Keller 2017-10-27 2180 * ndo_open() returning, so we can't assume it means all our open
44b034b406211f drivers/net/ethernet/intel/i40evf/i40evf_main.c Jacob Keller 2017-10-27 2181 * tasks have finished, since we're not holding the rtnl_lock here.
44b034b406211f drivers/net/ethernet/intel/i40evf/i40evf_main.c Jacob Keller 2017-10-27 2182 */
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2183 running = ((adapter->state == __IAVF_RUNNING) ||
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2184 (adapter->state == __IAVF_RESETTING));
44b034b406211f drivers/net/ethernet/intel/i40evf/i40evf_main.c Jacob Keller 2017-10-27 2185
44b034b406211f drivers/net/ethernet/intel/i40evf/i40evf_main.c Jacob Keller 2017-10-27 2186 if (running) {
ac833bbf7958bb drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-01-29 2187 netif_carrier_off(netdev);
67c818a1d58c78 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-06-19 2188 netif_tx_stop_all_queues(netdev);
3f341acc1c65b8 drivers/net/ethernet/intel/i40evf/i40evf_main.c Sridhar Samudrala 2016-09-01 2189 adapter->link_up = false;
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2190 iavf_napi_disable_all(adapter);
3c8e0b989aa1af drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-02-27 2191 }
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2192 iavf_irq_disable(adapter);
3c8e0b989aa1af drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-02-27 2193
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2194 adapter->state = __IAVF_RESETTING;
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2195 adapter->flags &= ~IAVF_FLAG_RESET_PENDING;
67c818a1d58c78 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-06-19 2196
67c818a1d58c78 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-06-19 2197 /* free the Tx/Rx rings and descriptors, might be better to just
67c818a1d58c78 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-06-19 2198 * re-use them sometime in the future
67c818a1d58c78 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-06-19 2199 */
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2200 iavf_free_all_rx_resources(adapter);
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2201 iavf_free_all_tx_resources(adapter);
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2202
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2203 adapter->flags |= IAVF_FLAG_QUEUES_DISABLED;
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2204 /* kill and reinit the admin queue */
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2205 iavf_shutdown_adminq(hw);
310a2ad92e3fd9 drivers/net/ethernet/intel/i40evf/i40evf_main.c Jesse Brandeburg 2017-05-11 2206 adapter->current_op = VIRTCHNL_OP_UNKNOWN;
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2207 err = iavf_init_adminq(hw);
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2208 if (err)
ac833bbf7958bb drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-01-29 2209 dev_info(&adapter->pdev->dev, "Failed to init adminq: %d\n",
ac833bbf7958bb drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-01-29 2210 err);
5b36e8d04b4439 drivers/net/ethernet/intel/i40evf/i40evf_main.c Alan Brady 2017-08-22 2211 adapter->aq_required = 0;
5b36e8d04b4439 drivers/net/ethernet/intel/i40evf/i40evf_main.c Alan Brady 2017-08-22 2212
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2213 if (adapter->flags & IAVF_FLAG_REINIT_ITR_NEEDED) {
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2214 err = iavf_reinit_interrupt_scheme(adapter);
5b36e8d04b4439 drivers/net/ethernet/intel/i40evf/i40evf_main.c Alan Brady 2017-08-22 2215 if (err)
5b36e8d04b4439 drivers/net/ethernet/intel/i40evf/i40evf_main.c Alan Brady 2017-08-22 2216 goto reset_err;
5b36e8d04b4439 drivers/net/ethernet/intel/i40evf/i40evf_main.c Alan Brady 2017-08-22 2217 }
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2218
a7550f8b1c9712 drivers/net/ethernet/intel/iavf/iavf_main.c Md Fahad Iqbal Polash 2021-06-04 2219 if (RSS_AQ(adapter)) {
a7550f8b1c9712 drivers/net/ethernet/intel/iavf/iavf_main.c Md Fahad Iqbal Polash 2021-06-04 2220 adapter->aq_required |= IAVF_FLAG_AQ_CONFIGURE_RSS;
a7550f8b1c9712 drivers/net/ethernet/intel/iavf/iavf_main.c Md Fahad Iqbal Polash 2021-06-04 2221 } else {
a7550f8b1c9712 drivers/net/ethernet/intel/iavf/iavf_main.c Md Fahad Iqbal Polash 2021-06-04 2222 err = iavf_init_rss(adapter);
a7550f8b1c9712 drivers/net/ethernet/intel/iavf/iavf_main.c Md Fahad Iqbal Polash 2021-06-04 2223 if (err)
a7550f8b1c9712 drivers/net/ethernet/intel/iavf/iavf_main.c Md Fahad Iqbal Polash 2021-06-04 2224 goto reset_err;
a7550f8b1c9712 drivers/net/ethernet/intel/iavf/iavf_main.c Md Fahad Iqbal Polash 2021-06-04 2225 }
a7550f8b1c9712 drivers/net/ethernet/intel/iavf/iavf_main.c Md Fahad Iqbal Polash 2021-06-04 2226
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2227 adapter->aq_required |= IAVF_FLAG_AQ_GET_CONFIG;
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2228 adapter->aq_required |= IAVF_FLAG_AQ_MAP_VECTORS;
ac833bbf7958bb drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-01-29 2229
504398f0a78e72 drivers/net/ethernet/intel/i40evf/i40evf_main.c Jacob Keller 2017-10-27 2230 spin_lock_bh(&adapter->mac_vlan_list_lock);
504398f0a78e72 drivers/net/ethernet/intel/i40evf/i40evf_main.c Jacob Keller 2017-10-27 2231
9e05229190380f drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2019-12-17 2232 /* Delete filter for the current MAC address, it could have
9e05229190380f drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2019-12-17 2233 * been changed by the PF via administratively set MAC.
9e05229190380f drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2019-12-17 2234 * Will be re-added via VIRTCHNL_OP_GET_VF_RESOURCES.
9e05229190380f drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2019-12-17 2235 */
9e05229190380f drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2019-12-17 2236 list_for_each_entry_safe(f, ftmp, &adapter->mac_filter_list, list) {
9e05229190380f drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2019-12-17 2237 if (ether_addr_equal(f->macaddr, adapter->hw.mac.addr)) {
9e05229190380f drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2019-12-17 2238 list_del(&f->list);
9e05229190380f drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2019-12-17 2239 kfree(f);
9e05229190380f drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2019-12-17 2240 }
9e05229190380f drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2019-12-17 2241 }
ac833bbf7958bb drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-01-29 2242 /* re-add all MAC filters */
ac833bbf7958bb drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-01-29 2243 list_for_each_entry(f, &adapter->mac_filter_list, list) {
ac833bbf7958bb drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-01-29 2244 f->add = true;
ac833bbf7958bb drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-01-29 2245 }
ac833bbf7958bb drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-01-29 2246 /* re-add all VLAN filters */
40d01366e6dd5e drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-10-01 2247 list_for_each_entry(vlf, &adapter->vlan_filter_list, list) {
40d01366e6dd5e drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-10-01 2248 vlf->add = true;
ac833bbf7958bb drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-01-29 2249 }
504398f0a78e72 drivers/net/ethernet/intel/i40evf/i40evf_main.c Jacob Keller 2017-10-27 2250
504398f0a78e72 drivers/net/ethernet/intel/i40evf/i40evf_main.c Jacob Keller 2017-10-27 2251 spin_unlock_bh(&adapter->mac_vlan_list_lock);
504398f0a78e72 drivers/net/ethernet/intel/i40evf/i40evf_main.c Jacob Keller 2017-10-27 2252
0075fa0fadd0ac drivers/net/ethernet/intel/i40evf/i40evf_main.c Harshitha Ramamurthy 2018-01-23 2253 /* check if TCs are running and re-add all cloud filters */
0075fa0fadd0ac drivers/net/ethernet/intel/i40evf/i40evf_main.c Harshitha Ramamurthy 2018-01-23 2254 spin_lock_bh(&adapter->cloud_filter_list_lock);
0075fa0fadd0ac drivers/net/ethernet/intel/i40evf/i40evf_main.c Harshitha Ramamurthy 2018-01-23 2255 if ((vfres->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_ADQ) &&
0075fa0fadd0ac drivers/net/ethernet/intel/i40evf/i40evf_main.c Harshitha Ramamurthy 2018-01-23 2256 adapter->num_tc) {
0075fa0fadd0ac drivers/net/ethernet/intel/i40evf/i40evf_main.c Harshitha Ramamurthy 2018-01-23 2257 list_for_each_entry(cf, &adapter->cloud_filter_list, list) {
0075fa0fadd0ac drivers/net/ethernet/intel/i40evf/i40evf_main.c Harshitha Ramamurthy 2018-01-23 2258 cf->add = true;
0075fa0fadd0ac drivers/net/ethernet/intel/i40evf/i40evf_main.c Harshitha Ramamurthy 2018-01-23 2259 }
0075fa0fadd0ac drivers/net/ethernet/intel/i40evf/i40evf_main.c Harshitha Ramamurthy 2018-01-23 2260 }
0075fa0fadd0ac drivers/net/ethernet/intel/i40evf/i40evf_main.c Harshitha Ramamurthy 2018-01-23 2261 spin_unlock_bh(&adapter->cloud_filter_list_lock);
0075fa0fadd0ac drivers/net/ethernet/intel/i40evf/i40evf_main.c Harshitha Ramamurthy 2018-01-23 2262
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2263 adapter->aq_required |= IAVF_FLAG_AQ_ADD_MAC_FILTER;
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2264 adapter->aq_required |= IAVF_FLAG_AQ_ADD_VLAN_FILTER;
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2265 adapter->aq_required |= IAVF_FLAG_AQ_ADD_CLOUD_FILTER;
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2266 iavf_misc_irq_enable(adapter);
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2267
fdd4044ffdc831 drivers/net/ethernet/intel/iavf/iavf_main.c Jakub Pawlak 2019-05-14 2268 mod_delayed_work(iavf_wq, &adapter->watchdog_task, 2);
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2269
44b034b406211f drivers/net/ethernet/intel/i40evf/i40evf_main.c Jacob Keller 2017-10-27 2270 /* We were running when the reset started, so we need to restore some
44b034b406211f drivers/net/ethernet/intel/i40evf/i40evf_main.c Jacob Keller 2017-10-27 2271 * state here.
44b034b406211f drivers/net/ethernet/intel/i40evf/i40evf_main.c Jacob Keller 2017-10-27 2272 */
44b034b406211f drivers/net/ethernet/intel/i40evf/i40evf_main.c Jacob Keller 2017-10-27 2273 if (running) {
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2274 /* allocate transmit descriptors */
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2275 err = iavf_setup_all_tx_resources(adapter);
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2276 if (err)
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2277 goto reset_err;
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2278
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2279 /* allocate receive descriptors */
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2280 err = iavf_setup_all_rx_resources(adapter);
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2281 if (err)
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2282 goto reset_err;
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2283
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2284 if (adapter->flags & IAVF_FLAG_REINIT_ITR_NEEDED) {
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2285 err = iavf_request_traffic_irqs(adapter, netdev->name);
5b36e8d04b4439 drivers/net/ethernet/intel/i40evf/i40evf_main.c Alan Brady 2017-08-22 2286 if (err)
5b36e8d04b4439 drivers/net/ethernet/intel/i40evf/i40evf_main.c Alan Brady 2017-08-22 2287 goto reset_err;
5b36e8d04b4439 drivers/net/ethernet/intel/i40evf/i40evf_main.c Alan Brady 2017-08-22 2288
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2289 adapter->flags &= ~IAVF_FLAG_REINIT_ITR_NEEDED;
5b36e8d04b4439 drivers/net/ethernet/intel/i40evf/i40evf_main.c Alan Brady 2017-08-22 2290 }
5b36e8d04b4439 drivers/net/ethernet/intel/i40evf/i40evf_main.c Alan Brady 2017-08-22 2291
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2292 iavf_configure(adapter);
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2293
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2294 iavf_up_complete(adapter);
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2295
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2296 iavf_irq_enable(adapter, true);
67c818a1d58c78 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-06-19 2297 } else {
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 2298 adapter->state = __IAVF_DOWN;
fe2647ab0c9970 drivers/net/ethernet/intel/i40evf/i40evf_main.c Sudheer Mogilappagari 2017-06-23 2299 wake_up(&adapter->down_waitqueue);
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2300 }
5ac49f3c2702f2 drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2021-08-04 2301 mutex_unlock(&adapter->client_lock);
5ac49f3c2702f2 drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2021-08-04 2302 mutex_unlock(&adapter->crit_lock);
67c818a1d58c78 drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2015-06-19 2303
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2304 return;
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2305 reset_err:
5ac49f3c2702f2 drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2021-08-04 2306 mutex_unlock(&adapter->client_lock);
5ac49f3c2702f2 drivers/net/ethernet/intel/iavf/iavf_main.c Stefan Assmann 2021-08-04 2307 mutex_unlock(&adapter->crit_lock);
80e7289356cdba drivers/net/ethernet/intel/i40evf/i40evf_main.c Mitch Williams 2014-05-10 2308 dev_err(&adapter->pdev->dev, "failed to allocate resources during reinit\n");
129cf89e585676 drivers/net/ethernet/intel/iavf/i40evf_main.c Jesse Brandeburg 2018-09-14 @2309 iavf_close(netdev);
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2310 }
5eae00c57f5e42 drivers/net/ethernet/intel/i40evf/i40evf_main.c Greg Rose 2013-12-21 2311
:::::: The code at line 2309 was first introduced by commit
:::::: 129cf89e585676ea4cc4c096bad46ad73c46e21f iavf: rename functions and structs to new name
:::::: TO: Jesse Brandeburg <jesse.brandeburg@intel.com>
:::::: CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
next reply other threads:[~2022-02-21 2:11 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-21 2:11 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-02-26 11:00 drivers/net/ethernet/intel/iavf/iavf_main.c:2309 iavf_reset_task() warn: inconsistent returns '&adapter->crit_lock' kernel test robot
2022-02-23 1:54 kernel test robot
2022-02-24 11:13 ` Dan Carpenter
2022-02-24 11:13 ` Dan Carpenter
2021-12-12 0:17 kernel test robot
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=202202211059.WMsT3X8t-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.