All of lore.kernel.org
 help / color / mirror / Atom feed
* [sound:topic/memalloc-noncontig 14/146] sound/pci/intel8x0m.c:1152 snd_intel8x0m_init() warn: 'pci' not released on lines: 1118, 1136, 1145.
@ 2021-08-12 23:20 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-08-12 23:20 UTC (permalink / raw)
  To: kbuild

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

CC: kbuild-all(a)lists.01.org
CC: alsa-devel(a)alsa-project.org
TO: Takashi Iwai <tiwai@suse.de>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git topic/memalloc-noncontig
head:   aac54027424d36ebfff88350e5e4d99f310d4fce
commit: 7835e0901e245aa8b83d7e2964f17088cb2e1f1e [14/146] ALSA: intel8x0: Allocate resources with device-managed APIs
:::::: branch date: 12 hours ago
:::::: commit date: 3 weeks ago
config: microblaze-randconfig-m031-20210812 (attached as .config)
compiler: microblaze-linux-gcc (GCC) 10.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>

smatch warnings:
sound/pci/intel8x0m.c:1152 snd_intel8x0m_init() warn: 'pci' not released on lines: 1118,1136,1145.

vim +/pci +1152 sound/pci/intel8x0m.c

^1da177e4c3f415 Linus Torvalds 2005-04-16  1045  
7835e0901e245aa Takashi Iwai   2021-07-15  1046  static int snd_intel8x0m_init(struct snd_card *card,
^1da177e4c3f415 Linus Torvalds 2005-04-16  1047  			      struct pci_dev *pci,
7835e0901e245aa Takashi Iwai   2021-07-15  1048  			      unsigned long device_type)
^1da177e4c3f415 Linus Torvalds 2005-04-16  1049  {
7835e0901e245aa Takashi Iwai   2021-07-15  1050  	struct intel8x0m *chip = card->private_data;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1051  	int err;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1052  	unsigned int i;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1053  	unsigned int int_sta_masks;
6b75a9d8b6c794d Takashi Iwai   2005-11-17  1054  	struct ichdev *ichdev;
f729f88a04089d2 Takashi Iwai   2020-01-05  1055  	static const struct ich_reg_info intel_regs[2] = {
^1da177e4c3f415 Linus Torvalds 2005-04-16  1056  		{ ICH_MIINT, 0 },
^1da177e4c3f415 Linus Torvalds 2005-04-16  1057  		{ ICH_MOINT, 0x10 },
^1da177e4c3f415 Linus Torvalds 2005-04-16  1058  	};
f729f88a04089d2 Takashi Iwai   2020-01-05  1059  	const struct ich_reg_info *tbl;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1060  
7835e0901e245aa Takashi Iwai   2021-07-15  1061  	err = pcim_enable_device(pci);
3a5f3dd3295288d Takashi Iwai   2021-06-08  1062  	if (err < 0)
^1da177e4c3f415 Linus Torvalds 2005-04-16  1063  		return err;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1064  
^1da177e4c3f415 Linus Torvalds 2005-04-16  1065  	spin_lock_init(&chip->reg_lock);
^1da177e4c3f415 Linus Torvalds 2005-04-16  1066  	chip->device_type = device_type;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1067  	chip->card = card;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1068  	chip->pci = pci;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1069  	chip->irq = -1;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1070  
3a5f3dd3295288d Takashi Iwai   2021-06-08  1071  	err = pci_request_regions(pci, card->shortname);
7835e0901e245aa Takashi Iwai   2021-07-15  1072  	if (err < 0)
^1da177e4c3f415 Linus Torvalds 2005-04-16  1073  		return err;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1074  
^1da177e4c3f415 Linus Torvalds 2005-04-16  1075  	if (device_type == DEVICE_ALI) {
^1da177e4c3f415 Linus Torvalds 2005-04-16  1076  		/* ALI5455 has no ac97 region */
7835e0901e245aa Takashi Iwai   2021-07-15  1077  		chip->bmaddr = pcim_iomap(pci, 0, 0);
7835e0901e245aa Takashi Iwai   2021-07-15  1078  	} else {
3388c37e04ec0e3 Takashi Iwai   2006-10-06  1079  		if (pci_resource_flags(pci, 2) & IORESOURCE_MEM) /* ICH4 and Nforce */
7835e0901e245aa Takashi Iwai   2021-07-15  1080  			chip->addr = pcim_iomap(pci, 2, 0);
3388c37e04ec0e3 Takashi Iwai   2006-10-06  1081  		else
7835e0901e245aa Takashi Iwai   2021-07-15  1082  			chip->addr = pcim_iomap(pci, 0, 0);
3388c37e04ec0e3 Takashi Iwai   2006-10-06  1083  		if (pci_resource_flags(pci, 3) & IORESOURCE_MEM) /* ICH4 */
7835e0901e245aa Takashi Iwai   2021-07-15  1084  			chip->bmaddr = pcim_iomap(pci, 3, 0);
3388c37e04ec0e3 Takashi Iwai   2006-10-06  1085  		else
7835e0901e245aa Takashi Iwai   2021-07-15  1086  			chip->bmaddr = pcim_iomap(pci, 1, 0);
^1da177e4c3f415 Linus Torvalds 2005-04-16  1087  	}
^1da177e4c3f415 Linus Torvalds 2005-04-16  1088  
^1da177e4c3f415 Linus Torvalds 2005-04-16  1089  	/* initialize offsets */
^1da177e4c3f415 Linus Torvalds 2005-04-16  1090  	chip->bdbars_count = 2;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1091  	tbl = intel_regs;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1092  
^1da177e4c3f415 Linus Torvalds 2005-04-16  1093  	for (i = 0; i < chip->bdbars_count; i++) {
^1da177e4c3f415 Linus Torvalds 2005-04-16  1094  		ichdev = &chip->ichd[i];
^1da177e4c3f415 Linus Torvalds 2005-04-16  1095  		ichdev->ichd = i;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1096  		ichdev->reg_offset = tbl[i].offset;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1097  		ichdev->int_sta_mask = tbl[i].int_sta_mask;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1098  		if (device_type == DEVICE_SIS) {
^1da177e4c3f415 Linus Torvalds 2005-04-16  1099  			/* SiS 7013 swaps the registers */
^1da177e4c3f415 Linus Torvalds 2005-04-16  1100  			ichdev->roff_sr = ICH_REG_OFF_PICB;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1101  			ichdev->roff_picb = ICH_REG_OFF_SR;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1102  		} else {
^1da177e4c3f415 Linus Torvalds 2005-04-16  1103  			ichdev->roff_sr = ICH_REG_OFF_SR;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1104  			ichdev->roff_picb = ICH_REG_OFF_PICB;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1105  		}
^1da177e4c3f415 Linus Torvalds 2005-04-16  1106  		if (device_type == DEVICE_ALI)
^1da177e4c3f415 Linus Torvalds 2005-04-16  1107  			ichdev->ali_slot = (ichdev->reg_offset - 0x40) / 0x10;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1108  	}
^1da177e4c3f415 Linus Torvalds 2005-04-16  1109  	/* SIS7013 handles the pcm data in bytes, others are in words */
^1da177e4c3f415 Linus Torvalds 2005-04-16  1110  	chip->pcm_pos_shift = (device_type == DEVICE_SIS) ? 0 : 1;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1111  
^1da177e4c3f415 Linus Torvalds 2005-04-16  1112  	/* allocate buffer descriptor lists */
^1da177e4c3f415 Linus Torvalds 2005-04-16  1113  	/* the start of each lists must be aligned to 8 bytes */
7835e0901e245aa Takashi Iwai   2021-07-15  1114  	chip->bdbars = snd_devm_alloc_pages(&pci->dev, SNDRV_DMA_TYPE_DEV,
7835e0901e245aa Takashi Iwai   2021-07-15  1115  					    chip->bdbars_count * sizeof(u32) *
7835e0901e245aa Takashi Iwai   2021-07-15  1116  					    ICH_MAX_FRAGS * 2);
7835e0901e245aa Takashi Iwai   2021-07-15  1117  	if (!chip->bdbars)
^1da177e4c3f415 Linus Torvalds 2005-04-16  1118  		return -ENOMEM;
7835e0901e245aa Takashi Iwai   2021-07-15  1119  
^1da177e4c3f415 Linus Torvalds 2005-04-16  1120  	/* tables must be aligned to 8 bytes here, but the kernel pages
^1da177e4c3f415 Linus Torvalds 2005-04-16  1121  	   are much bigger, so we don't care (on i386) */
^1da177e4c3f415 Linus Torvalds 2005-04-16  1122  	int_sta_masks = 0;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1123  	for (i = 0; i < chip->bdbars_count; i++) {
^1da177e4c3f415 Linus Torvalds 2005-04-16  1124  		ichdev = &chip->ichd[i];
7835e0901e245aa Takashi Iwai   2021-07-15  1125  		ichdev->bdbar = ((__le32 *)chip->bdbars->area) + (i * ICH_MAX_FRAGS * 2);
7835e0901e245aa Takashi Iwai   2021-07-15  1126  		ichdev->bdbar_addr = chip->bdbars->addr + (i * sizeof(u32) * ICH_MAX_FRAGS * 2);
^1da177e4c3f415 Linus Torvalds 2005-04-16  1127  		int_sta_masks |= ichdev->int_sta_mask;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1128  	}
^1da177e4c3f415 Linus Torvalds 2005-04-16  1129  	chip->int_sta_reg = ICH_REG_GLOB_STA;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1130  	chip->int_sta_mask = int_sta_masks;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1131  
7064f376d4a1068 Takashi Iwai   2018-08-28  1132  	pci_set_master(pci);
7064f376d4a1068 Takashi Iwai   2018-08-28  1133  
3a5f3dd3295288d Takashi Iwai   2021-06-08  1134  	err = snd_intel8x0m_chip_init(chip, 1);
7835e0901e245aa Takashi Iwai   2021-07-15  1135  	if (err < 0)
^1da177e4c3f415 Linus Torvalds 2005-04-16  1136  		return err;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1137  
7835e0901e245aa Takashi Iwai   2021-07-15  1138  	/* NOTE: we don't use devm version here since it's released /
7835e0901e245aa Takashi Iwai   2021-07-15  1139  	 * re-acquired in PM callbacks.
7835e0901e245aa Takashi Iwai   2021-07-15  1140  	 * It's released explicitly in snd_intel8x0m_free(), too.
7835e0901e245aa Takashi Iwai   2021-07-15  1141  	 */
7064f376d4a1068 Takashi Iwai   2018-08-28  1142  	if (request_irq(pci->irq, snd_intel8x0m_interrupt, IRQF_SHARED,
7064f376d4a1068 Takashi Iwai   2018-08-28  1143  			KBUILD_MODNAME, chip)) {
7064f376d4a1068 Takashi Iwai   2018-08-28  1144  		dev_err(card->dev, "unable to grab IRQ %d\n", pci->irq);
7064f376d4a1068 Takashi Iwai   2018-08-28  1145  		return -EBUSY;
7064f376d4a1068 Takashi Iwai   2018-08-28  1146  	}
7064f376d4a1068 Takashi Iwai   2018-08-28  1147  	chip->irq = pci->irq;
be1391c7858ffd7 Takashi Iwai   2019-12-10  1148  	card->sync_irq = chip->irq;
7064f376d4a1068 Takashi Iwai   2018-08-28  1149  
7835e0901e245aa Takashi Iwai   2021-07-15  1150  	card->private_free = snd_intel8x0m_free;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1151  
^1da177e4c3f415 Linus Torvalds 2005-04-16 @1152  	return 0;
^1da177e4c3f415 Linus Torvalds 2005-04-16  1153  }
^1da177e4c3f415 Linus Torvalds 2005-04-16  1154  

:::::: The code at line 1152 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: 39689 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-08-12 23:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-12 23:20 [sound:topic/memalloc-noncontig 14/146] sound/pci/intel8x0m.c:1152 snd_intel8x0m_init() warn: 'pci' not released on lines: 1118, 1136, 1145 kernel test robot

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.