Hi Igor,

I love your patch! Perhaps something to improve:

[auto build test WARNING on net-next/master]

url:    
https://github.com/0day-ci/linux/commits/Igor-Russkikh/qed-introduce-devlink-health-support/20200728-170206
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 
5e619d73e6797ed9f2554a1bf996d52d8c91ca50
config: x86_64-randconfig-a003-20200728 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 
e57464151d4c4912a7ec4d6fd0920056b2f75c7c)
reproduce (this is a W=1 build):
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>

All warnings (new ones prefixed by >>):

>> drivers/net/ethernet/qlogic/qede/qede_main.c:1165:6: warning: variable 
>> 'edev' is used uninitialized whenever 'if' condition is true 
>> [-Wsometimes-uninitialized]
           if (rc)
               ^~
   drivers/net/ethernet/qlogic/qede/qede_main.c:1247:2: note: uninitialized use 
occurs here
           edev->cdev = NULL;
           ^~~~
   drivers/net/ethernet/qlogic/qede/qede_main.c:1165:2: note: remove the 'if' 
if its condition is always false
           if (rc)
           ^~~~~~~
   drivers/net/ethernet/qlogic/qede/qede_main.c:1158:6: warning: variable 
'edev' is used uninitialized whenever 'if' condition is true 
[-Wsometimes-uninitialized]
           if (rc) {
               ^~
   drivers/net/ethernet/qlogic/qede/qede_main.c:1247:2: note: uninitialized use 
occurs here
           edev->cdev = NULL;
           ^~~~
   drivers/net/ethernet/qlogic/qede/qede_main.c:1158:2: note: remove the 'if' 
if its condition is always false
           if (rc) {
           ^~~~~~~~~
   drivers/net/ethernet/qlogic/qede/qede_main.c:1128:23: note: initialize the 
variable 'edev' to silence this warning
           struct qede_dev *edev;
                                ^
                                 = NULL
   2 warnings generated.

vim +1165 drivers/net/ethernet/qlogic/qede/qede_main.c

2950219d87b040 Yuval Mintz                  2015-10-26  1121  
2950219d87b040 Yuval Mintz                  2015-10-26  1122  static int 
__qede_probe(struct pci_dev *pdev, u32 dp_module, u8 dp_level,
1408cc1fa48c54 Yuval Mintz                  2016-05-11  1123                    
bool is_vf, enum qede_probe_mode mode)
2950219d87b040 Yuval Mintz                  2015-10-26  1124  {
1408cc1fa48c54 Yuval Mintz                  2016-05-11  1125    struct 
qed_probe_params probe_params;
1a635e488ecf6f Yuval Mintz                  2016-08-15  1126    struct 
qed_slowpath_params sp_params;
2950219d87b040 Yuval Mintz                  2015-10-26  1127    struct 
qed_dev_eth_info dev_info;
2950219d87b040 Yuval Mintz                  2015-10-26  1128    struct qede_dev 
*edev;
2950219d87b040 Yuval Mintz                  2015-10-26  1129    struct qed_dev 
*cdev;
2950219d87b040 Yuval Mintz                  2015-10-26  1130    int rc;
2950219d87b040 Yuval Mintz                  2015-10-26  1131  
2950219d87b040 Yuval Mintz                  2015-10-26  1132    if 
(unlikely(dp_level & QED_LEVEL_INFO))
2950219d87b040 Yuval Mintz                  2015-10-26  1133            
pr_notice("Starting qede probe\n");
2950219d87b040 Yuval Mintz                  2015-10-26  1134  
1408cc1fa48c54 Yuval Mintz                  2016-05-11  1135    
memset(&probe_params, 0, sizeof(probe_params));
1408cc1fa48c54 Yuval Mintz                  2016-05-11  1136    
probe_params.protocol = QED_PROTOCOL_ETH;
1408cc1fa48c54 Yuval Mintz                  2016-05-11  1137    
probe_params.dp_module = dp_module;
1408cc1fa48c54 Yuval Mintz                  2016-05-11  1138    
probe_params.dp_level = dp_level;
1408cc1fa48c54 Yuval Mintz                  2016-05-11  1139    
probe_params.is_vf = is_vf;
ccc67ef50b9085 Tomer Tayar                  2019-01-28  1140    
probe_params.recov_in_prog = (mode == QEDE_PROBE_RECOVERY);
1408cc1fa48c54 Yuval Mintz                  2016-05-11  1141    cdev = 
qed_ops->common->probe(pdev, &probe_params);
2950219d87b040 Yuval Mintz                  2015-10-26  1142    if (!cdev) {
2950219d87b040 Yuval Mintz                  2015-10-26  1143            rc = 
-ENODEV;
2950219d87b040 Yuval Mintz                  2015-10-26  1144            goto 
err0;
2950219d87b040 Yuval Mintz                  2015-10-26  1145    }
2950219d87b040 Yuval Mintz                  2015-10-26  1146  
2950219d87b040 Yuval Mintz                  2015-10-26  1147    
qede_update_pf_params(cdev);
2950219d87b040 Yuval Mintz                  2015-10-26  1148  
2950219d87b040 Yuval Mintz                  2015-10-26  1149    /* Start the 
Slowpath-process */
1a635e488ecf6f Yuval Mintz                  2016-08-15  1150    
memset(&sp_params, 0, sizeof(sp_params));
1a635e488ecf6f Yuval Mintz                  2016-08-15  1151    
sp_params.int_mode = QED_INT_MODE_MSIX;
1a635e488ecf6f Yuval Mintz                  2016-08-15  1152    
sp_params.drv_major = QEDE_MAJOR_VERSION;
1a635e488ecf6f Yuval Mintz                  2016-08-15  1153    
sp_params.drv_minor = QEDE_MINOR_VERSION;
1a635e488ecf6f Yuval Mintz                  2016-08-15  1154    
sp_params.drv_rev = QEDE_REVISION_VERSION;
1a635e488ecf6f Yuval Mintz                  2016-08-15  1155    
sp_params.drv_eng = QEDE_ENGINEERING_VERSION;
1a635e488ecf6f Yuval Mintz                  2016-08-15  1156    
strlcpy(sp_params.name, "qede LAN", QED_DRV_VER_STR_SIZE);
1a635e488ecf6f Yuval Mintz                  2016-08-15  1157    rc = 
qed_ops->common->slowpath_start(cdev, &sp_params);
2950219d87b040 Yuval Mintz                  2015-10-26  1158    if (rc) {
2950219d87b040 Yuval Mintz                  2015-10-26  1159            
pr_notice("Cannot start slowpath\n");
2950219d87b040 Yuval Mintz                  2015-10-26  1160            goto 
err1;
2950219d87b040 Yuval Mintz                  2015-10-26  1161    }
2950219d87b040 Yuval Mintz                  2015-10-26  1162  
2950219d87b040 Yuval Mintz                  2015-10-26  1163    /* Learn 
information crucial for qede to progress */
2950219d87b040 Yuval Mintz                  2015-10-26  1164    rc = 
qed_ops->fill_dev_info(cdev, &dev_info);
2950219d87b040 Yuval Mintz                  2015-10-26 @1165    if (rc)
2950219d87b040 Yuval Mintz                  2015-10-26  1166            goto 
err2;
2950219d87b040 Yuval Mintz                  2015-10-26  1167  
ccc67ef50b9085 Tomer Tayar                  2019-01-28  1168    if (mode != 
QEDE_PROBE_RECOVERY) {
2950219d87b040 Yuval Mintz                  2015-10-26  1169            edev = 
qede_alloc_etherdev(cdev, pdev, &dev_info, dp_module,
2950219d87b040 Yuval Mintz                  2015-10-26  1170                    
                   dp_level);
2950219d87b040 Yuval Mintz                  2015-10-26  1171            if 
(!edev) {
2950219d87b040 Yuval Mintz                  2015-10-26  1172                    
rc = -ENOMEM;
2950219d87b040 Yuval Mintz                  2015-10-26  1173                    
goto err2;
2950219d87b040 Yuval Mintz                  2015-10-26  1174            }
66f590e1507178 Igor Russkikh                2020-07-28  1175  
66f590e1507178 Igor Russkikh                2020-07-28  1176            
edev->devlink = qed_ops->common->devlink_register(cdev);
66f590e1507178 Igor Russkikh                2020-07-28  1177            if 
(IS_ERR(edev->devlink)) {
66f590e1507178 Igor Russkikh                2020-07-28  1178                    
DP_NOTICE(edev, "Cannot register devlink\n");
66f590e1507178 Igor Russkikh                2020-07-28  1179                    
edev->devlink = NULL;
66f590e1507178 Igor Russkikh                2020-07-28  1180                    
/* Go on, we can live without devlink */
66f590e1507178 Igor Russkikh                2020-07-28  1181            }
ccc67ef50b9085 Tomer Tayar                  2019-01-28  1182    } else {
ccc67ef50b9085 Tomer Tayar                  2019-01-28  1183            struct 
net_device *ndev = pci_get_drvdata(pdev);
ccc67ef50b9085 Tomer Tayar                  2019-01-28  1184            edev = 
netdev_priv(ndev);
66f590e1507178 Igor Russkikh                2020-07-28  1185  
66f590e1507178 Igor Russkikh                2020-07-28  1186            if 
(edev && edev->devlink) {
66f590e1507178 Igor Russkikh                2020-07-28  1187                    
struct qed_devlink *qdl = devlink_priv(edev->devlink);
66f590e1507178 Igor Russkikh                2020-07-28  1188  
66f590e1507178 Igor Russkikh                2020-07-28  1189                    
qdl->cdev = cdev;
66f590e1507178 Igor Russkikh                2020-07-28  1190            }
ccc67ef50b9085 Tomer Tayar                  2019-01-28  1191            
edev->cdev = cdev;
ccc67ef50b9085 Tomer Tayar                  2019-01-28  1192            
memset(&edev->stats, 0, sizeof(edev->stats));
ccc67ef50b9085 Tomer Tayar                  2019-01-28  1193            
memcpy(&edev->dev_info, &dev_info, sizeof(dev_info));
ccc67ef50b9085 Tomer Tayar                  2019-01-28  1194    }
2950219d87b040 Yuval Mintz                  2015-10-26  1195  
fefb0202cc5c12 Yuval Mintz                  2016-05-11  1196    if (is_vf)
149d3775f108c9 Sudarsana Reddy Kalluru      2018-11-26  1197            
set_bit(QEDE_FLAGS_IS_VF, &edev->flags);
fefb0202cc5c12 Yuval Mintz                  2016-05-11  1198  
2950219d87b040 Yuval Mintz                  2015-10-26  1199    
qede_init_ndev(edev);
2950219d87b040 Yuval Mintz                  2015-10-26  1200  
ccc67ef50b9085 Tomer Tayar                  2019-01-28  1201    rc = 
qede_rdma_dev_add(edev, (mode == QEDE_PROBE_RECOVERY));
cee9fbd8e2e9e7 Ram Amrani                   2016-10-01  1202    if (rc)
cee9fbd8e2e9e7 Ram Amrani                   2016-10-01  1203            goto 
err3;
cee9fbd8e2e9e7 Ram Amrani                   2016-10-01  1204  
ccc67ef50b9085 Tomer Tayar                  2019-01-28  1205    if (mode != 
QEDE_PROBE_RECOVERY) {
3f2176dd7fe9e4 Colin Ian King               2018-03-19  1206            /* 
Prepare the lock prior to the registration of the netdev,
0e0b80a9a7181c Mintz, Yuval                 2017-02-20  1207             * as 
once it's registered we might reach flows requiring it
0e0b80a9a7181c Mintz, Yuval                 2017-02-20  1208             * 
[it's even possible to reach a flow needing it directly
0e0b80a9a7181c Mintz, Yuval                 2017-02-20  1209             * from 
there, although it's unlikely].
0e0b80a9a7181c Mintz, Yuval                 2017-02-20  1210             */
0e0b80a9a7181c Mintz, Yuval                 2017-02-20  1211            
INIT_DELAYED_WORK(&edev->sp_task, qede_sp_task);
0e0b80a9a7181c Mintz, Yuval                 2017-02-20  1212            
mutex_init(&edev->qede_lock);
ccc67ef50b9085 Tomer Tayar                  2019-01-28  1213  
2950219d87b040 Yuval Mintz                  2015-10-26  1214            rc = 
register_netdev(edev->ndev);
2950219d87b040 Yuval Mintz                  2015-10-26  1215            if (rc) 
{
2950219d87b040 Yuval Mintz                  2015-10-26  1216                    
DP_NOTICE(edev, "Cannot register net-device\n");
cee9fbd8e2e9e7 Ram Amrani                   2016-10-01  1217                    
goto err4;
2950219d87b040 Yuval Mintz                  2015-10-26  1218            }
ccc67ef50b9085 Tomer Tayar                  2019-01-28  1219    }
2950219d87b040 Yuval Mintz                  2015-10-26  1220  
712c3cbf193fca Mintz, Yuval                 2017-05-23  1221    
edev->ops->common->set_name(cdev, edev->ndev->name);
2950219d87b040 Yuval Mintz                  2015-10-26  1222  
4c55215c05d252 Sudarsana Reddy Kalluru      2017-02-15  1223    /* PTP not 
supported on VFs */
035744975aecf9 sudarsana.kall...@cavium.com 2017-04-26  1224    if (!is_vf)
1c85f394c2206e Alexander Lobakin            2020-06-23  1225            
qede_ptp_enable(edev);
4c55215c05d252 Sudarsana Reddy Kalluru      2017-02-15  1226  
a2ec6172d29cf3 Sudarsana Kalluru            2015-10-26  1227    
edev->ops->register_ops(cdev, &qede_ll_ops, edev);
a2ec6172d29cf3 Sudarsana Kalluru            2015-10-26  1228  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

Reply via email to