CC: [email protected]
CC: [email protected]
TO: Taehee Yoo <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   0adc313c4f20639f7e235b8d6719d96a2024cf91
commit: 1fc70edb7d7b5ce1ae32b0cf90183f4879ad421a net: core: add nested_level 
variable in net_device
date:   4 weeks ago
:::::: branch date: 2 hours ago
:::::: commit date: 4 weeks ago
config: s390-randconfig-m031-20201023 (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

smatch warnings:
drivers/net/ethernet/broadcom/bnxt/bnxt.c:10055 bnxt_cfg_rx_mode() error: 
double unlocked 'dev->addr_list_lock' (orig line 10024)

vim +10055 drivers/net/ethernet/broadcom/bnxt/bnxt.c

c0c050c58d8409 Michael Chan 2015-10-22  10013  
b664f008b0d885 Michael Chan 2015-12-02  10014  static int 
bnxt_cfg_rx_mode(struct bnxt *bp)
c0c050c58d8409 Michael Chan 2015-10-22  10015  {
c0c050c58d8409 Michael Chan 2015-10-22  10016   struct net_device *dev = 
bp->dev;
c0c050c58d8409 Michael Chan 2015-10-22  10017   struct bnxt_vnic_info *vnic = 
&bp->vnic_info[0];
c0c050c58d8409 Michael Chan 2015-10-22  10018   struct netdev_hw_addr *ha;
c0c050c58d8409 Michael Chan 2015-10-22  10019   int i, off = 0, rc;
c0c050c58d8409 Michael Chan 2015-10-22  10020   bool uc_update;
c0c050c58d8409 Michael Chan 2015-10-22  10021  
c0c050c58d8409 Michael Chan 2015-10-22  10022   netif_addr_lock_bh(dev);
c0c050c58d8409 Michael Chan 2015-10-22  10023   uc_update = 
bnxt_uc_list_updated(bp);
c0c050c58d8409 Michael Chan 2015-10-22 @10024   netif_addr_unlock_bh(dev);
c0c050c58d8409 Michael Chan 2015-10-22  10025  
c0c050c58d8409 Michael Chan 2015-10-22  10026   if (!uc_update)
c0c050c58d8409 Michael Chan 2015-10-22  10027           goto skip_uc;
c0c050c58d8409 Michael Chan 2015-10-22  10028  
c0c050c58d8409 Michael Chan 2015-10-22  10029   mutex_lock(&bp->hwrm_cmd_lock);
c0c050c58d8409 Michael Chan 2015-10-22  10030   for (i = 1; i < 
vnic->uc_filter_count; i++) {
c0c050c58d8409 Michael Chan 2015-10-22  10031           struct 
hwrm_cfa_l2_filter_free_input req = {0};
c0c050c58d8409 Michael Chan 2015-10-22  10032  
c0c050c58d8409 Michael Chan 2015-10-22  10033           
bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_CFA_L2_FILTER_FREE, -1,
c0c050c58d8409 Michael Chan 2015-10-22  10034                                  
-1);
c0c050c58d8409 Michael Chan 2015-10-22  10035  
c0c050c58d8409 Michael Chan 2015-10-22  10036           req.l2_filter_id = 
vnic->fw_l2_filter_id[i];
c0c050c58d8409 Michael Chan 2015-10-22  10037  
c0c050c58d8409 Michael Chan 2015-10-22  10038           rc = 
_hwrm_send_message(bp, &req, sizeof(req),
c0c050c58d8409 Michael Chan 2015-10-22  10039                                   
HWRM_CMD_TIMEOUT);
c0c050c58d8409 Michael Chan 2015-10-22  10040   }
c0c050c58d8409 Michael Chan 2015-10-22  10041   
mutex_unlock(&bp->hwrm_cmd_lock);
c0c050c58d8409 Michael Chan 2015-10-22  10042  
c0c050c58d8409 Michael Chan 2015-10-22  10043   vnic->uc_filter_count = 1;
c0c050c58d8409 Michael Chan 2015-10-22  10044  
c0c050c58d8409 Michael Chan 2015-10-22  10045   netif_addr_lock_bh(dev);
c0c050c58d8409 Michael Chan 2015-10-22  10046   if (netdev_uc_count(dev) > 
(BNXT_MAX_UC_ADDRS - 1)) {
c0c050c58d8409 Michael Chan 2015-10-22  10047           vnic->rx_mask |= 
CFA_L2_SET_RX_MASK_REQ_MASK_PROMISCUOUS;
c0c050c58d8409 Michael Chan 2015-10-22  10048   } else {
c0c050c58d8409 Michael Chan 2015-10-22  10049           
netdev_for_each_uc_addr(ha, dev) {
c0c050c58d8409 Michael Chan 2015-10-22  10050                   
memcpy(vnic->uc_list + off, ha->addr, ETH_ALEN);
c0c050c58d8409 Michael Chan 2015-10-22  10051                   off += ETH_ALEN;
c0c050c58d8409 Michael Chan 2015-10-22  10052                   
vnic->uc_filter_count++;
c0c050c58d8409 Michael Chan 2015-10-22  10053           }
c0c050c58d8409 Michael Chan 2015-10-22  10054   }
c0c050c58d8409 Michael Chan 2015-10-22 @10055   netif_addr_unlock_bh(dev);
c0c050c58d8409 Michael Chan 2015-10-22  10056  
c0c050c58d8409 Michael Chan 2015-10-22  10057   for (i = 1, off = 0; i < 
vnic->uc_filter_count; i++, off += ETH_ALEN) {
c0c050c58d8409 Michael Chan 2015-10-22  10058           rc = 
bnxt_hwrm_set_vnic_filter(bp, 0, i, vnic->uc_list + off);
c0c050c58d8409 Michael Chan 2015-10-22  10059           if (rc) {
c0c050c58d8409 Michael Chan 2015-10-22  10060                   
netdev_err(bp->dev, "HWRM vnic filter failure rc: %x\n",
c0c050c58d8409 Michael Chan 2015-10-22  10061                              rc);
c0c050c58d8409 Michael Chan 2015-10-22  10062                   
vnic->uc_filter_count = i;
b664f008b0d885 Michael Chan 2015-12-02  10063                   return rc;
c0c050c58d8409 Michael Chan 2015-10-22  10064           }
c0c050c58d8409 Michael Chan 2015-10-22  10065   }
c0c050c58d8409 Michael Chan 2015-10-22  10066  
c0c050c58d8409 Michael Chan 2015-10-22  10067  skip_uc:
c0c050c58d8409 Michael Chan 2015-10-22  10068   rc = 
bnxt_hwrm_cfa_l2_set_rx_mask(bp, 0);
b4e30e8e7ea1d1 Michael Chan 2019-04-25  10069   if (rc && vnic->mc_list_count) {
b4e30e8e7ea1d1 Michael Chan 2019-04-25  10070           netdev_info(bp->dev, 
"Failed setting MC filters rc: %d, turning on ALL_MCAST mode\n",
b4e30e8e7ea1d1 Michael Chan 2019-04-25  10071                       rc);
b4e30e8e7ea1d1 Michael Chan 2019-04-25  10072           vnic->rx_mask |= 
CFA_L2_SET_RX_MASK_REQ_MASK_ALL_MCAST;
b4e30e8e7ea1d1 Michael Chan 2019-04-25  10073           vnic->mc_list_count = 0;
b4e30e8e7ea1d1 Michael Chan 2019-04-25  10074           rc = 
bnxt_hwrm_cfa_l2_set_rx_mask(bp, 0);
b4e30e8e7ea1d1 Michael Chan 2019-04-25  10075   }
c0c050c58d8409 Michael Chan 2015-10-22  10076   if (rc)
b4e30e8e7ea1d1 Michael Chan 2019-04-25  10077           netdev_err(bp->dev, 
"HWRM cfa l2 rx mask failure rc: %d\n",
c0c050c58d8409 Michael Chan 2015-10-22  10078                      rc);
b664f008b0d885 Michael Chan 2015-12-02  10079  
b664f008b0d885 Michael Chan 2015-12-02  10080   return rc;
c0c050c58d8409 Michael Chan 2015-10-22  10081  }
c0c050c58d8409 Michael Chan 2015-10-22  10082  

:::::: The code at line 10055 was first introduced by commit
:::::: c0c050c58d840994ba842ad1c338a98e7c12b764 bnxt_en: New Broadcom ethernet 
driver.

:::::: TO: Michael Chan <[email protected]>
:::::: CC: David S. Miller <[email protected]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to