CC: [email protected]
CC: [email protected]
TO: Takashi Iwai <[email protected]>

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 <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

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 <[email protected]>
:::::: CC: Linus Torvalds <[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