All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: drivers/net/wan/lmc/lmc_main.c:947 lmc_init_one() warn: 'dev' not released on lines: 903.
Date: Fri, 21 May 2021 13:30:06 +0800	[thread overview]
Message-ID: <202105211352.T8KD7nYR-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 13885 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Tong Zhang <ztong0001@gmail.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   ba816d3c265cfe9ed0ee8347eab63cf5ac3cf5dc
commit: 62e69bc419772638369eff8ff81340bde8aceb61 net: wan/lmc: unregister device when no matching device is found
date:   3 months ago
:::::: branch date: 5 hours ago
:::::: commit date: 3 months ago
config: x86_64-randconfig-m001-20210521 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.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>

New smatch warnings:
drivers/net/wan/lmc/lmc_main.c:947 lmc_init_one() warn: 'dev' not released on lines: 903.

Old smatch warnings:
drivers/net/wan/lmc/lmc_main.c:721 lmc_watchdog() warn: inconsistent indenting
drivers/net/wan/lmc/lmc_main.c:867 lmc_init_one() warn: inconsistent indenting
drivers/net/wan/lmc/lmc_main.c:947 lmc_init_one() warn: 'pdev' not released on lines: 822,827,903.

vim +/dev +947 drivers/net/wan/lmc/lmc_main.c

991990a12de422 Krzysztof Hałasa   2009-01-08  795  
1dd06ae8db716e Greg Kroah-Hartman 2012-12-06  796  static int lmc_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
^1da177e4c3f41 Linus Torvalds     2005-04-16  797  {
^1da177e4c3f41 Linus Torvalds     2005-04-16  798  	lmc_softc_t *sc;
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  799  	struct net_device *dev;
^1da177e4c3f41 Linus Torvalds     2005-04-16  800  	u16 subdevice;
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  801  	u16 AdapModelNum;
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  802  	int err;
^1da177e4c3f41 Linus Torvalds     2005-04-16  803  	static int cards_found;
^1da177e4c3f41 Linus Torvalds     2005-04-16  804  
7cb43bebab52d8 Amitoj Kaur Chawla 2016-02-27  805  	err = pcim_enable_device(pdev);
^1da177e4c3f41 Linus Torvalds     2005-04-16  806  	if (err) {
^1da177e4c3f41 Linus Torvalds     2005-04-16  807  		printk(KERN_ERR "lmc: pci enable failed: %d\n", err);
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  808  		return err;
^1da177e4c3f41 Linus Torvalds     2005-04-16  809  	}
^1da177e4c3f41 Linus Torvalds     2005-04-16  810  
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  811  	err = pci_request_regions(pdev, "lmc");
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  812  	if (err) {
^1da177e4c3f41 Linus Torvalds     2005-04-16  813  		printk(KERN_ERR "lmc: pci_request_region failed\n");
7cb43bebab52d8 Amitoj Kaur Chawla 2016-02-27  814  		return err;
^1da177e4c3f41 Linus Torvalds     2005-04-16  815  	}
^1da177e4c3f41 Linus Torvalds     2005-04-16  816  
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  817  	/*
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  818  	 * Allocate our own device structure
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  819  	 */
7cb43bebab52d8 Amitoj Kaur Chawla 2016-02-27  820  	sc = devm_kzalloc(&pdev->dev, sizeof(lmc_softc_t), GFP_KERNEL);
7cb43bebab52d8 Amitoj Kaur Chawla 2016-02-27  821  	if (!sc)
7cb43bebab52d8 Amitoj Kaur Chawla 2016-02-27  822  		return -ENOMEM;
^1da177e4c3f41 Linus Torvalds     2005-04-16  823  
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  824  	dev = alloc_hdlcdev(sc);
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  825  	if (!dev) {
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  826  		printk(KERN_ERR "lmc:alloc_netdev for device failed\n");
7cb43bebab52d8 Amitoj Kaur Chawla 2016-02-27  827  		return -ENOMEM;
^1da177e4c3f41 Linus Torvalds     2005-04-16  828  	}
^1da177e4c3f41 Linus Torvalds     2005-04-16  829  
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  830  
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  831  	dev->type = ARPHRD_HDLC;
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  832  	dev_to_hdlc(dev)->xmit = lmc_start_xmit;
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  833  	dev_to_hdlc(dev)->attach = lmc_attach;
991990a12de422 Krzysztof Hałasa   2009-01-08  834  	dev->netdev_ops = &lmc_ops;
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  835  	dev->watchdog_timeo = HZ; /* 1 second */
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  836  	dev->tx_queue_len = 100;
^1da177e4c3f41 Linus Torvalds     2005-04-16  837  	sc->lmc_device = dev;
^1da177e4c3f41 Linus Torvalds     2005-04-16  838  	sc->name = dev->name;
^1da177e4c3f41 Linus Torvalds     2005-04-16  839  	sc->if_type = LMC_PPP;
^1da177e4c3f41 Linus Torvalds     2005-04-16  840  	sc->check = 0xBEAFCAFE;
^1da177e4c3f41 Linus Torvalds     2005-04-16  841  	dev->base_addr = pci_resource_start(pdev, 0);
^1da177e4c3f41 Linus Torvalds     2005-04-16  842  	dev->irq = pdev->irq;
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  843  	pci_set_drvdata(pdev, dev);
^1da177e4c3f41 Linus Torvalds     2005-04-16  844  	SET_NETDEV_DEV(dev, &pdev->dev);
^1da177e4c3f41 Linus Torvalds     2005-04-16  845  
^1da177e4c3f41 Linus Torvalds     2005-04-16  846  	/*
^1da177e4c3f41 Linus Torvalds     2005-04-16  847  	 * This will get the protocol layer ready and do any 1 time init's
^1da177e4c3f41 Linus Torvalds     2005-04-16  848  	 * Must have a valid sc and dev structure
^1da177e4c3f41 Linus Torvalds     2005-04-16  849  	 */
^1da177e4c3f41 Linus Torvalds     2005-04-16  850  	lmc_proto_attach(sc);
^1da177e4c3f41 Linus Torvalds     2005-04-16  851  
^1da177e4c3f41 Linus Torvalds     2005-04-16  852  	/* Init the spin lock so can call it latter */
^1da177e4c3f41 Linus Torvalds     2005-04-16  853  
^1da177e4c3f41 Linus Torvalds     2005-04-16  854  	spin_lock_init(&sc->lmc_lock);
^1da177e4c3f41 Linus Torvalds     2005-04-16  855  	pci_set_master(pdev);
^1da177e4c3f41 Linus Torvalds     2005-04-16  856  
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  857  	printk(KERN_INFO "%s: detected at %lx, irq %d\n", dev->name,
^1da177e4c3f41 Linus Torvalds     2005-04-16  858  	       dev->base_addr, dev->irq);
^1da177e4c3f41 Linus Torvalds     2005-04-16  859  
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  860  	err = register_hdlc_device(dev);
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  861  	if (err) {
^1da177e4c3f41 Linus Torvalds     2005-04-16  862  		printk(KERN_ERR "%s: register_netdev failed.\n", dev->name);
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  863  		free_netdev(dev);
7cb43bebab52d8 Amitoj Kaur Chawla 2016-02-27  864  		return err;
^1da177e4c3f41 Linus Torvalds     2005-04-16  865  	}
^1da177e4c3f41 Linus Torvalds     2005-04-16  866  
^1da177e4c3f41 Linus Torvalds     2005-04-16  867      sc->lmc_cardtype = LMC_CARDTYPE_UNKNOWN;
^1da177e4c3f41 Linus Torvalds     2005-04-16  868      sc->lmc_timing = LMC_CTL_CLOCK_SOURCE_EXT;
^1da177e4c3f41 Linus Torvalds     2005-04-16  869  
^1da177e4c3f41 Linus Torvalds     2005-04-16  870      /*
^1da177e4c3f41 Linus Torvalds     2005-04-16  871       *
^1da177e4c3f41 Linus Torvalds     2005-04-16  872       * Check either the subvendor or the subdevice, some systems reverse
^1da177e4c3f41 Linus Torvalds     2005-04-16  873       * the setting in the bois, seems to be version and arch dependent?
^1da177e4c3f41 Linus Torvalds     2005-04-16  874       * Fix the error, exchange the two values 
^1da177e4c3f41 Linus Torvalds     2005-04-16  875       */
^1da177e4c3f41 Linus Torvalds     2005-04-16  876      if ((subdevice = pdev->subsystem_device) == PCI_VENDOR_ID_LMC)
^1da177e4c3f41 Linus Torvalds     2005-04-16  877  	    subdevice = pdev->subsystem_vendor;
^1da177e4c3f41 Linus Torvalds     2005-04-16  878  
^1da177e4c3f41 Linus Torvalds     2005-04-16  879      switch (subdevice) {
^1da177e4c3f41 Linus Torvalds     2005-04-16  880      case PCI_DEVICE_ID_LMC_HSSI:
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  881  	printk(KERN_INFO "%s: LMC HSSI\n", dev->name);
^1da177e4c3f41 Linus Torvalds     2005-04-16  882          sc->lmc_cardtype = LMC_CARDTYPE_HSSI;
^1da177e4c3f41 Linus Torvalds     2005-04-16  883          sc->lmc_media = &lmc_hssi_media;
^1da177e4c3f41 Linus Torvalds     2005-04-16  884          break;
^1da177e4c3f41 Linus Torvalds     2005-04-16  885      case PCI_DEVICE_ID_LMC_DS3:
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  886  	printk(KERN_INFO "%s: LMC DS3\n", dev->name);
^1da177e4c3f41 Linus Torvalds     2005-04-16  887          sc->lmc_cardtype = LMC_CARDTYPE_DS3;
^1da177e4c3f41 Linus Torvalds     2005-04-16  888          sc->lmc_media = &lmc_ds3_media;
^1da177e4c3f41 Linus Torvalds     2005-04-16  889          break;
^1da177e4c3f41 Linus Torvalds     2005-04-16  890      case PCI_DEVICE_ID_LMC_SSI:
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  891  	printk(KERN_INFO "%s: LMC SSI\n", dev->name);
^1da177e4c3f41 Linus Torvalds     2005-04-16  892          sc->lmc_cardtype = LMC_CARDTYPE_SSI;
^1da177e4c3f41 Linus Torvalds     2005-04-16  893          sc->lmc_media = &lmc_ssi_media;
^1da177e4c3f41 Linus Torvalds     2005-04-16  894          break;
^1da177e4c3f41 Linus Torvalds     2005-04-16  895      case PCI_DEVICE_ID_LMC_T1:
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  896  	printk(KERN_INFO "%s: LMC T1\n", dev->name);
^1da177e4c3f41 Linus Torvalds     2005-04-16  897          sc->lmc_cardtype = LMC_CARDTYPE_T1;
^1da177e4c3f41 Linus Torvalds     2005-04-16  898          sc->lmc_media = &lmc_t1_media;
^1da177e4c3f41 Linus Torvalds     2005-04-16  899          break;
^1da177e4c3f41 Linus Torvalds     2005-04-16  900      default:
af901ca181d92a André Goddard Rosa 2009-11-14  901  	printk(KERN_WARNING "%s: LMC UNKNOWN CARD!\n", dev->name);
62e69bc4197726 Tong Zhang         2021-02-15  902  	unregister_hdlc_device(dev);
62e69bc4197726 Tong Zhang         2021-02-15  903  	return -EIO;
^1da177e4c3f41 Linus Torvalds     2005-04-16  904          break;
^1da177e4c3f41 Linus Torvalds     2005-04-16  905      }
^1da177e4c3f41 Linus Torvalds     2005-04-16  906  
^1da177e4c3f41 Linus Torvalds     2005-04-16  907      lmc_initcsrs (sc, dev->base_addr, 8);
^1da177e4c3f41 Linus Torvalds     2005-04-16  908  
^1da177e4c3f41 Linus Torvalds     2005-04-16  909      lmc_gpio_mkinput (sc, 0xff);
^1da177e4c3f41 Linus Torvalds     2005-04-16  910      sc->lmc_gpio = 0;		/* drive no signals yet */
^1da177e4c3f41 Linus Torvalds     2005-04-16  911  
^1da177e4c3f41 Linus Torvalds     2005-04-16  912      sc->lmc_media->defaults (sc);
^1da177e4c3f41 Linus Torvalds     2005-04-16  913  
^1da177e4c3f41 Linus Torvalds     2005-04-16  914      sc->lmc_media->set_link_status (sc, LMC_LINK_UP);
^1da177e4c3f41 Linus Torvalds     2005-04-16  915  
^1da177e4c3f41 Linus Torvalds     2005-04-16  916      /* verify that the PCI Sub System ID matches the Adapter Model number
^1da177e4c3f41 Linus Torvalds     2005-04-16  917       * from the MII register
^1da177e4c3f41 Linus Torvalds     2005-04-16  918       */
^1da177e4c3f41 Linus Torvalds     2005-04-16  919      AdapModelNum = (lmc_mii_readreg (sc, 0, 3) & 0x3f0) >> 4;
^1da177e4c3f41 Linus Torvalds     2005-04-16  920  
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  921      if ((AdapModelNum != LMC_ADAP_T1 || /* detect LMC1200 */
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  922  	 subdevice != PCI_DEVICE_ID_LMC_T1) &&
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  923  	(AdapModelNum != LMC_ADAP_SSI || /* detect LMC1000 */
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  924  	 subdevice != PCI_DEVICE_ID_LMC_SSI) &&
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  925  	(AdapModelNum != LMC_ADAP_DS3 || /* detect LMC5245 */
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  926  	 subdevice != PCI_DEVICE_ID_LMC_DS3) &&
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  927  	(AdapModelNum != LMC_ADAP_HSSI || /* detect LMC5200 */
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  928  	 subdevice != PCI_DEVICE_ID_LMC_HSSI))
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  929  	    printk(KERN_WARNING "%s: Model number (%d) miscompare for PCI"
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  930  		   " Subsystem ID = 0x%04x\n",
^1da177e4c3f41 Linus Torvalds     2005-04-16  931  		   dev->name, AdapModelNum, subdevice);
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  932  
^1da177e4c3f41 Linus Torvalds     2005-04-16  933      /*
^1da177e4c3f41 Linus Torvalds     2005-04-16  934       * reset clock
^1da177e4c3f41 Linus Torvalds     2005-04-16  935       */
^1da177e4c3f41 Linus Torvalds     2005-04-16  936      LMC_CSR_WRITE (sc, csr_gp_timer, 0xFFFFFFFFUL);
^1da177e4c3f41 Linus Torvalds     2005-04-16  937  
^1da177e4c3f41 Linus Torvalds     2005-04-16  938      sc->board_idx = cards_found++;
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  939      sc->extra_stats.check = STATCHECK;
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  940      sc->extra_stats.version_size = (DRIVER_VERSION << 16) +
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  941  	    sizeof(sc->lmc_device->stats) + sizeof(sc->extra_stats);
64bef7630ad5b0 Krzysztof Hałasa   2008-07-02  942      sc->extra_stats.lmc_cardtype = sc->lmc_cardtype;
^1da177e4c3f41 Linus Torvalds     2005-04-16  943  
^1da177e4c3f41 Linus Torvalds     2005-04-16  944      sc->lmc_ok = 0;
^1da177e4c3f41 Linus Torvalds     2005-04-16  945      sc->last_link_status = 0;
^1da177e4c3f41 Linus Torvalds     2005-04-16  946  
^1da177e4c3f41 Linus Torvalds     2005-04-16 @947      return 0;
^1da177e4c3f41 Linus Torvalds     2005-04-16  948  }
^1da177e4c3f41 Linus Torvalds     2005-04-16  949  

:::::: The code at line 947 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 39065 bytes --]

             reply	other threads:[~2021-05-21  5:30 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-21  5:30 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-07-05  9:54 drivers/net/wan/lmc/lmc_main.c:947 lmc_init_one() warn: 'dev' not released on lines: 903 kernel test robot
2021-07-05 10:05 ` Dan Carpenter
2021-07-05 10:05 ` Dan Carpenter
2021-02-25  6:59 Dan Carpenter
2021-02-25  6:59 ` Dan Carpenter
2021-02-25  6:59 ` Dan Carpenter
2021-02-25  6:34 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=202105211352.T8KD7nYR-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.