CC: kbuild-...@lists.01.org
CC: Linux Memory Management List <linux...@kvack.org>
TO: Takashi Iwai <ti...@suse.de>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   90d856e71443a2fcacca8e7539bac44d9cb3f7ab
commit: 5adfd8c26607cdc666aa86ecc10104924d54082a [1797/3296] ALSA: trident: 
Allocate resources with device-managed APIs
:::::: branch date: 3 days ago
:::::: commit date: 7 days ago
config: x86_64-randconfig-m001-20210726 (attached as .config)
compiler: gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0

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

smatch warnings:
sound/pci/trident/trident_main.c:3599 snd_trident_create() warn: 'pci' not 
released on lines: 3544.

vim +/pci +3599 sound/pci/trident/trident_main.c

^1da177e4c3f41 Linus Torvalds 2005-04-16  3477  
^1da177e4c3f41 Linus Torvalds 2005-04-16  3478  
/*---------------------------------------------------------------------------
^1da177e4c3f41 Linus Torvalds 2005-04-16  3479     snd_trident_create
^1da177e4c3f41 Linus Torvalds 2005-04-16  3480    
^1da177e4c3f41 Linus Torvalds 2005-04-16  3481     Description: This routine 
will create the device specific class for
^1da177e4c3f41 Linus Torvalds 2005-04-16  3482                  the 4DWave 
card. It will also perform basic initialization.
^1da177e4c3f41 Linus Torvalds 2005-04-16  3483                  
561de31a23a8a5 Joe Perches    2007-12-18  3484     Parameters:  card  - which 
card to create
^1da177e4c3f41 Linus Torvalds 2005-04-16  3485                  pci   - 
interface to PCI bus resource info
^1da177e4c3f41 Linus Torvalds 2005-04-16  3486                  dma1ptr - 
playback dma buffer
^1da177e4c3f41 Linus Torvalds 2005-04-16  3487                  dma2ptr - 
capture dma buffer
^1da177e4c3f41 Linus Torvalds 2005-04-16  3488                  irqptr  -  
interrupt resource info
^1da177e4c3f41 Linus Torvalds 2005-04-16  3489  
^1da177e4c3f41 Linus Torvalds 2005-04-16  3490     Returns:     4DWave device 
class private data
^1da177e4c3f41 Linus Torvalds 2005-04-16  3491    
^1da177e4c3f41 Linus Torvalds 2005-04-16  3492    
---------------------------------------------------------------------------*/
^1da177e4c3f41 Linus Torvalds 2005-04-16  3493  
e23e7a14362072 Bill Pemberton 2012-12-06  3494  int snd_trident_create(struct 
snd_card *card,
^1da177e4c3f41 Linus Torvalds 2005-04-16  3495                         struct 
pci_dev *pci,
^1da177e4c3f41 Linus Torvalds 2005-04-16  3496                         int 
pcm_streams,
^1da177e4c3f41 Linus Torvalds 2005-04-16  3497                         int 
pcm_spdif_device,
5adfd8c26607cd Takashi Iwai   2021-07-15  3498                         int 
max_wavetable_size)
^1da177e4c3f41 Linus Torvalds 2005-04-16  3499  {
5adfd8c26607cd Takashi Iwai   2021-07-15  3500          struct snd_trident 
*trident = card->private_data;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3501          int i, err;
bee1a5be8b6210 Takashi Iwai   2005-11-17  3502          struct 
snd_trident_voice *voice;
bee1a5be8b6210 Takashi Iwai   2005-11-17  3503          struct 
snd_trident_pcm_mixer *tmix;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3504  
^1da177e4c3f41 Linus Torvalds 2005-04-16  3505          /* enable PCI device */
5adfd8c26607cd Takashi Iwai   2021-07-15  3506          err = 
pcim_enable_device(pci);
34b946ee28699b Takashi Iwai   2021-06-08  3507          if (err < 0)
^1da177e4c3f41 Linus Torvalds 2005-04-16  3508                  return err;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3509          /* check, if we can 
restrict PCI DMA transfers to 30 bits */
669f65eaeb969e Takashi Iwai   2021-01-14  3510          if 
(dma_set_mask_and_coherent(&pci->dev, DMA_BIT_MASK(30))) {
80c19b7513029a Takashi Iwai   2014-02-26  3511                  
dev_err(card->dev,
80c19b7513029a Takashi Iwai   2014-02-26  3512                          
"architecture does not support 30bit PCI busmaster DMA\n");
^1da177e4c3f41 Linus Torvalds 2005-04-16  3513                  return -ENXIO;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3514          }
^1da177e4c3f41 Linus Torvalds 2005-04-16  3515          
^1da177e4c3f41 Linus Torvalds 2005-04-16  3516          trident->device = 
(pci->vendor << 16) | pci->device;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3517          trident->card = card;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3518          trident->pci = pci;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3519          
spin_lock_init(&trident->reg_lock);
^1da177e4c3f41 Linus Torvalds 2005-04-16  3520          
spin_lock_init(&trident->event_lock);
^1da177e4c3f41 Linus Torvalds 2005-04-16  3521          
spin_lock_init(&trident->voice_alloc);
^1da177e4c3f41 Linus Torvalds 2005-04-16  3522          if (pcm_streams < 1)
^1da177e4c3f41 Linus Torvalds 2005-04-16  3523                  pcm_streams = 1;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3524          if (pcm_streams > 32)
^1da177e4c3f41 Linus Torvalds 2005-04-16  3525                  pcm_streams = 
32;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3526          trident->ChanPCM = 
pcm_streams;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3527          if (max_wavetable_size 
< 0 )
^1da177e4c3f41 Linus Torvalds 2005-04-16  3528                  
max_wavetable_size = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3529          trident->synth.max_size 
= max_wavetable_size * 1024;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3530          trident->irq = -1;
5adfd8c26607cd Takashi Iwai   2021-07-15  3531          card->private_free = 
snd_trident_free;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3532  
^1da177e4c3f41 Linus Torvalds 2005-04-16  3533          trident->midi_port = 
TRID_REG(trident, T4D_MPU401_BASE);
^1da177e4c3f41 Linus Torvalds 2005-04-16  3534          pci_set_master(pci);
^1da177e4c3f41 Linus Torvalds 2005-04-16  3535  
34b946ee28699b Takashi Iwai   2021-06-08  3536          err = 
pci_request_regions(pci, "Trident Audio");
5adfd8c26607cd Takashi Iwai   2021-07-15  3537          if (err < 0)
^1da177e4c3f41 Linus Torvalds 2005-04-16  3538                  return err;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3539          trident->port = 
pci_resource_start(pci, 0);
^1da177e4c3f41 Linus Torvalds 2005-04-16  3540  
5adfd8c26607cd Takashi Iwai   2021-07-15  3541          if 
(devm_request_irq(&pci->dev, pci->irq, snd_trident_interrupt,
5adfd8c26607cd Takashi Iwai   2021-07-15  3542                               
IRQF_SHARED, KBUILD_MODNAME, trident)) {
80c19b7513029a Takashi Iwai   2014-02-26  3543                  
dev_err(card->dev, "unable to grab IRQ %d\n", pci->irq);
^1da177e4c3f41 Linus Torvalds 2005-04-16  3544                  return -EBUSY;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3545          }
^1da177e4c3f41 Linus Torvalds 2005-04-16  3546          trident->irq = pci->irq;
4a9ff148bd348f Takashi Iwai   2019-12-10  3547          card->sync_irq = 
trident->irq;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3548  
^1da177e4c3f41 Linus Torvalds 2005-04-16  3549          /* allocate 16k-aligned 
TLB for NX cards */
^1da177e4c3f41 Linus Torvalds 2005-04-16  3550          trident->tlb.entries = 
NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3551          if (trident->device == 
TRIDENT_DEVICE_ID_NX) {
34b946ee28699b Takashi Iwai   2021-06-08  3552                  err = 
snd_trident_tlb_alloc(trident);
5adfd8c26607cd Takashi Iwai   2021-07-15  3553                  if (err < 0)
^1da177e4c3f41 Linus Torvalds 2005-04-16  3554                          return 
err;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3555          }
^1da177e4c3f41 Linus Torvalds 2005-04-16  3556  
^1da177e4c3f41 Linus Torvalds 2005-04-16  3557          trident->spdif_bits = 
trident->spdif_pcm_bits = SNDRV_PCM_DEFAULT_CON_SPDIF;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3558  
^1da177e4c3f41 Linus Torvalds 2005-04-16  3559          /* initialize chip */
^1da177e4c3f41 Linus Torvalds 2005-04-16  3560          switch 
(trident->device) {
^1da177e4c3f41 Linus Torvalds 2005-04-16  3561          case 
TRIDENT_DEVICE_ID_DX:
^1da177e4c3f41 Linus Torvalds 2005-04-16  3562                  err = 
snd_trident_4d_dx_init(trident);
^1da177e4c3f41 Linus Torvalds 2005-04-16  3563                  break;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3564          case 
TRIDENT_DEVICE_ID_NX:
^1da177e4c3f41 Linus Torvalds 2005-04-16  3565                  err = 
snd_trident_4d_nx_init(trident);
^1da177e4c3f41 Linus Torvalds 2005-04-16  3566                  break;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3567          case 
TRIDENT_DEVICE_ID_SI7018:
^1da177e4c3f41 Linus Torvalds 2005-04-16  3568                  err = 
snd_trident_sis_init(trident);
^1da177e4c3f41 Linus Torvalds 2005-04-16  3569                  break;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3570          default:
^1da177e4c3f41 Linus Torvalds 2005-04-16  3571                  snd_BUG();
^1da177e4c3f41 Linus Torvalds 2005-04-16  3572                  break;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3573          }
5adfd8c26607cd Takashi Iwai   2021-07-15  3574          if (err < 0)
^1da177e4c3f41 Linus Torvalds 2005-04-16  3575                  return err;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3576  
34b946ee28699b Takashi Iwai   2021-06-08  3577          err = 
snd_trident_mixer(trident, pcm_spdif_device);
34b946ee28699b Takashi Iwai   2021-06-08  3578          if (err < 0)
^1da177e4c3f41 Linus Torvalds 2005-04-16  3579                  return err;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3580          
^1da177e4c3f41 Linus Torvalds 2005-04-16  3581          /* initialise synth 
voices */
^1da177e4c3f41 Linus Torvalds 2005-04-16  3582          for (i = 0; i < 64; 
i++) {
^1da177e4c3f41 Linus Torvalds 2005-04-16  3583                  voice = 
&trident->synth.voices[i];
^1da177e4c3f41 Linus Torvalds 2005-04-16  3584                  voice->number = 
i;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3585                  voice->trident 
= trident;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3586          }
^1da177e4c3f41 Linus Torvalds 2005-04-16  3587          /* initialize pcm mixer 
entries */
^1da177e4c3f41 Linus Torvalds 2005-04-16  3588          for (i = 0; i < 32; 
i++) {
^1da177e4c3f41 Linus Torvalds 2005-04-16  3589                  tmix = 
&trident->pcm_mixer[i];
^1da177e4c3f41 Linus Torvalds 2005-04-16  3590                  tmix->vol = 
T4D_DEFAULT_PCM_VOL;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3591                  tmix->pan = 
T4D_DEFAULT_PCM_PAN;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3592                  tmix->rvol = 
T4D_DEFAULT_PCM_RVOL;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3593                  tmix->cvol = 
T4D_DEFAULT_PCM_CVOL;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3594          }
^1da177e4c3f41 Linus Torvalds 2005-04-16  3595  
^1da177e4c3f41 Linus Torvalds 2005-04-16  3596          
snd_trident_enable_eso(trident);
^1da177e4c3f41 Linus Torvalds 2005-04-16  3597  
^1da177e4c3f41 Linus Torvalds 2005-04-16  3598          
snd_trident_proc_init(trident);
^1da177e4c3f41 Linus Torvalds 2005-04-16 @3599          return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16  3600  }
^1da177e4c3f41 Linus Torvalds 2005-04-16  3601  

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

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

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

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org

Reply via email to