[Intel-wired-lan] [jkirsher-next-queue:dev-queue 23/68] drivers/net/ethernet/intel/ice/ice_dcb_lib.c:866:2-8: preceding lock on line 823 (fwd)

Nguyen, Anthony L anthony.l.nguyen at intel.com
Fri Jan 31 22:11:10 UTC 2020



> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces at osuosl.org> On Behalf Of Julia
> Lawall
> Sent: Friday, January 31, 2020 6:40 AM
> To: Ertman, David M <david.m.ertman at intel.com>
> Cc: kbuild-all at lists.01.org; Intel Wired LAN <intel-wired-lan at lists.osuosl.org>
> Subject: [Intel-wired-lan] [jkirsher-next-queue:dev-queue 23/68]
> drivers/net/ethernet/intel/ice/ice_dcb_lib.c:866:2-8: preceding lock on line 823
> (fwd)
> 
> It looks like an unlock may be needed on line 866.
> 
> Julia

Hi Julia,

I saw that recently as well and have a v2 for that patch going out shortly.

Thanks,
Tony

> 
> ---------- Forwarded message ----------
> Date: Fri, 31 Jan 2020 03:37:17 +0800
> From: kbuild test robot <lkp at intel.com>
> To: kbuild at lists.01.org
> Cc: Julia Lawall <julia.lawall at lip6.fr>
> Subject: [jkirsher-next-queue:dev-queue 23/68]
>     drivers/net/ethernet/intel/ice/ice_dcb_lib.c:866:2-8: preceding lock on line
>      823
> 
> CC: kbuild-all at lists.01.org
> CC: Intel Wired LAN <intel-wired-lan at lists.osuosl.org>
> TO: Dave Ertman <david.m.ertman at intel.com>
> CC: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
> 
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git
> dev-queue
> head:   c48a1f5522f05b3654059aee22adb40107d10670
> commit: 5eed7bb45be7c777685502ffc993d102d10c3379 [23/68] ice: Fix DCB
> rebuild after reset
> :::::: branch date: 24 hours ago
> :::::: commit date: 24 hours ago
> 
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <lkp at intel.com>
> Reported-by: Julia Lawall <julia.lawall at lip6.fr>
> 
> >> drivers/net/ethernet/intel/ice/ice_dcb_lib.c:866:2-8: preceding lock
> >> on line 823
> 
> # https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-
> queue.git/commit/?id=5eed7bb45be7c777685502ffc993d102d10c3379
> git remote add jkirsher-next-queue
> https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git
> git remote update jkirsher-next-queue
> git checkout 5eed7bb45be7c777685502ffc993d102d10c3379
> vim +866 drivers/net/ethernet/intel/ice/ice_dcb_lib.c
> 
> 7516010ac2db5c Dave Ertman            2020-01-29  771
> 00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28  772  /**
> 00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28  773   *
> ice_dcb_process_lldp_set_mib_change - Process MIB change
> 00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28  774   * @pf: ptr to ice_pf
> 00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28  775   * @event: pointer
> to the admin queue receive event
> 00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28  776   */
> 00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28  777  void
> 00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28  778
> ice_dcb_process_lldp_set_mib_change(struct ice_pf *pf,
> 00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28  779
> 		    struct ice_rq_event_info *event)
> 00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28  780  {
> a17a5ff6812c26 Usha Ketineni          2019-04-16  781  	struct
> ice_aqc_port_ets_elem buf = { 0 };
> 4015d11e4b9720 Brett Creeley          2019-11-08  782  	struct device *dev =
> ice_pf_to_dev(pf);
> a17a5ff6812c26 Usha Ketineni          2019-04-16  783  	struct
> ice_aqc_lldp_get_mib *mib;
> a17a5ff6812c26 Usha Ketineni          2019-04-16  784  	struct ice_dcbx_cfg
> tmp_dcbx_cfg;
> a17a5ff6812c26 Usha Ketineni          2019-04-16  785  	bool need_reconfig =
> false;
> a17a5ff6812c26 Usha Ketineni          2019-04-16  786  	struct ice_port_info
> *pi;
> 9d614b6425f844 Anirudh Venkataramanan 2019-11-06  787  	struct ice_vsi
> *pf_vsi;
> a17a5ff6812c26 Usha Ketineni          2019-04-16  788  	u8 type;
> a17a5ff6812c26 Usha Ketineni          2019-04-16  789  	int ret;
> 00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28  790
> a17a5ff6812c26 Usha Ketineni          2019-04-16  791  	/* Not DCB capable or
> capability disabled */
> a17a5ff6812c26 Usha Ketineni          2019-04-16  792  	if
> (!(test_bit(ICE_FLAG_DCB_CAPABLE, pf->flags)))
> 00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28  793
> 	return;
> 00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28  794
> a17a5ff6812c26 Usha Ketineni          2019-04-16  795  	if (pf->dcbx_cap &
> DCB_CAP_DCBX_HOST) {
> 4015d11e4b9720 Brett Creeley          2019-11-08  796  		dev_dbg(dev,
> "MIB Change Event in HOST mode\n");
> a17a5ff6812c26 Usha Ketineni          2019-04-16  797  		return;
> a17a5ff6812c26 Usha Ketineni          2019-04-16  798  	}
> 00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28  799
> a17a5ff6812c26 Usha Ketineni          2019-04-16  800  	pi = pf->hw.port_info;
> a17a5ff6812c26 Usha Ketineni          2019-04-16  801  	mib = (struct
> ice_aqc_lldp_get_mib *)&event->desc.params.raw;
> a17a5ff6812c26 Usha Ketineni          2019-04-16  802  	/* Ignore if event is
> not for Nearest Bridge */
> a17a5ff6812c26 Usha Ketineni          2019-04-16  803  	type = ((mib->type >>
> ICE_AQ_LLDP_BRID_TYPE_S) &
> a17a5ff6812c26 Usha Ketineni          2019-04-16  804
> 	ICE_AQ_LLDP_BRID_TYPE_M);
> 4015d11e4b9720 Brett Creeley          2019-11-08  805  	dev_dbg(dev, "LLDP
> event MIB bridge type 0x%x\n", type);
> a17a5ff6812c26 Usha Ketineni          2019-04-16  806  	if (type !=
> ICE_AQ_LLDP_BRID_TYPE_NEAREST_BRID)
> a17a5ff6812c26 Usha Ketineni          2019-04-16  807  		return;
> a17a5ff6812c26 Usha Ketineni          2019-04-16  808
> a17a5ff6812c26 Usha Ketineni          2019-04-16  809  	/* Check MIB Type and
> return if event for Remote MIB update */
> a17a5ff6812c26 Usha Ketineni          2019-04-16  810  	type = mib->type &
> ICE_AQ_LLDP_MIB_TYPE_M;
> 4015d11e4b9720 Brett Creeley          2019-11-08  811  	dev_dbg(dev, "LLDP
> event mib type %s\n", type ? "remote" : "local");
> a17a5ff6812c26 Usha Ketineni          2019-04-16  812  	if (type ==
> ICE_AQ_LLDP_MIB_REMOTE) {
> a17a5ff6812c26 Usha Ketineni          2019-04-16  813  		/* Update the
> remote cached instance and return */
> a17a5ff6812c26 Usha Ketineni          2019-04-16  814  		ret =
> ice_aq_get_dcb_cfg(pi->hw, ICE_AQ_LLDP_MIB_REMOTE,
> a17a5ff6812c26 Usha Ketineni          2019-04-16  815
> 		 ICE_AQ_LLDP_BRID_TYPE_NEAREST_BRID,
> a17a5ff6812c26 Usha Ketineni          2019-04-16  816
> 		 &pi->remote_dcbx_cfg);
> a17a5ff6812c26 Usha Ketineni          2019-04-16  817  		if (ret) {
> 4015d11e4b9720 Brett Creeley          2019-11-08  818
> 	dev_err(dev, "Failed to get remote DCB config\n");
> a17a5ff6812c26 Usha Ketineni          2019-04-16  819
> 	return;
> a17a5ff6812c26 Usha Ketineni          2019-04-16  820  		}
> a17a5ff6812c26 Usha Ketineni          2019-04-16  821  	}
> a17a5ff6812c26 Usha Ketineni          2019-04-16  822
> 5eed7bb45be7c7 Dave Ertman            2020-01-29 @823  	mutex_lock(&pf-
> >tc_mutex);
> 5eed7bb45be7c7 Dave Ertman            2020-01-29  824
> a17a5ff6812c26 Usha Ketineni          2019-04-16  825  	/* store the old
> configuration */
> a17a5ff6812c26 Usha Ketineni          2019-04-16  826  	tmp_dcbx_cfg = pf-
> >hw.port_info->local_dcbx_cfg;
> a17a5ff6812c26 Usha Ketineni          2019-04-16  827
> 2f2da36ebf42ef Anirudh Venkataramanan 2019-04-16  828  	/* Reset the
> old DCBX configuration data */
> a17a5ff6812c26 Usha Ketineni          2019-04-16  829  	memset(&pi-
> >local_dcbx_cfg, 0, sizeof(pi->local_dcbx_cfg));
> 00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28  830
> 2f2da36ebf42ef Anirudh Venkataramanan 2019-04-16  831  	/* Get
> updated DCBX data from firmware */
> a17a5ff6812c26 Usha Ketineni          2019-04-16  832  	ret =
> ice_get_dcb_cfg(pf->hw.port_info);
> a17a5ff6812c26 Usha Ketineni          2019-04-16  833  	if (ret) {
> 4015d11e4b9720 Brett Creeley          2019-11-08  834  		dev_err(dev,
> "Failed to get DCB config\n");
> 5eed7bb45be7c7 Dave Ertman            2020-01-29  835
> 	mutex_unlock(&pf->tc_mutex);
> a17a5ff6812c26 Usha Ketineni          2019-04-16  836  		return;
> a17a5ff6812c26 Usha Ketineni          2019-04-16  837  	}
> a17a5ff6812c26 Usha Ketineni          2019-04-16  838
> a17a5ff6812c26 Usha Ketineni          2019-04-16  839  	/* No change detected
> in DCBX configs */
> a17a5ff6812c26 Usha Ketineni          2019-04-16  840  	if
> (!memcmp(&tmp_dcbx_cfg, &pi->local_dcbx_cfg, sizeof(tmp_dcbx_cfg))) {
> 4015d11e4b9720 Brett Creeley          2019-11-08  841  		dev_dbg(dev,
> "No change detected in DCBX configuration.\n");
> 5eed7bb45be7c7 Dave Ertman            2020-01-29  842
> 	mutex_unlock(&pf->tc_mutex);
> a17a5ff6812c26 Usha Ketineni          2019-04-16  843  		return;
> a17a5ff6812c26 Usha Ketineni          2019-04-16  844  	}
> a17a5ff6812c26 Usha Ketineni          2019-04-16  845
> a17a5ff6812c26 Usha Ketineni          2019-04-16  846  	need_reconfig =
> ice_dcb_need_recfg(pf, &tmp_dcbx_cfg,
> a17a5ff6812c26 Usha Ketineni          2019-04-16  847
> 		   &pi->local_dcbx_cfg);
> b94b013eb62695 Dave Ertman            2019-11-06  848
> 	ice_dcbnl_flush_apps(pf, &tmp_dcbx_cfg, &pi->local_dcbx_cfg);
> 5eed7bb45be7c7 Dave Ertman            2020-01-29  849  	if (!need_reconfig) {
> 5eed7bb45be7c7 Dave Ertman            2020-01-29  850
> 	mutex_unlock(&pf->tc_mutex);
> a17a5ff6812c26 Usha Ketineni          2019-04-16  851  		return;
> 5eed7bb45be7c7 Dave Ertman            2020-01-29  852  	}
> a17a5ff6812c26 Usha Ketineni          2019-04-16  853
> a17a5ff6812c26 Usha Ketineni          2019-04-16  854  	/* Enable DCB tagging
> only when more than one TC */
> a17a5ff6812c26 Usha Ketineni          2019-04-16  855  	if
> (ice_dcb_get_num_tc(&pi->local_dcbx_cfg) > 1) {
> 4015d11e4b9720 Brett Creeley          2019-11-08  856  		dev_dbg(dev,
> "DCB tagging enabled (num TC > 1)\n");
> a17a5ff6812c26 Usha Ketineni          2019-04-16  857
> 	set_bit(ICE_FLAG_DCB_ENA, pf->flags);
> a17a5ff6812c26 Usha Ketineni          2019-04-16  858  	} else {
> 4015d11e4b9720 Brett Creeley          2019-11-08  859  		dev_dbg(dev,
> "DCB tagging disabled (num TC = 1)\n");
> a17a5ff6812c26 Usha Ketineni          2019-04-16  860
> 	clear_bit(ICE_FLAG_DCB_ENA, pf->flags);
> 00cc3f1b3a3011 Anirudh Venkataramanan 2019-02-28  861  	}
> a17a5ff6812c26 Usha Ketineni          2019-04-16  862
> 9d614b6425f844 Anirudh Venkataramanan 2019-11-06  863  	pf_vsi =
> ice_get_main_vsi(pf);
> 9d614b6425f844 Anirudh Venkataramanan 2019-11-06  864  	if (!pf_vsi) {
> 4015d11e4b9720 Brett Creeley          2019-11-08  865  		dev_dbg(dev,
> "PF VSI doesn't exist\n");
> 9d614b6425f844 Anirudh Venkataramanan 2019-11-06 @866
> 	return;
> 
> :::::: The code at line 866 was first introduced by commit
> :::::: 9d614b6425f844a722630d66b9cb7eb531fd706e ice: Use ice_ena_vsi and
> ice_dis_vsi in DCB configuration flow
> 
> :::::: TO: Anirudh Venkataramanan <anirudh.venkataramanan at intel.com>
> :::::: CC: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
> 
> ---
> 0-DAY kernel test infrastructure                 Open Source Technology Center
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan at osuosl.org
> https://lists.osuosl.org/mailman/listinfo/intel-wired-lan


More information about the Intel-wired-lan mailing list