All of lore.kernel.org
 help / color / mirror / Atom feed
From: Philip Li <philip.li@intel.com>
To: vishnu <vravulap@amd.com>
Cc: "moderated list:SOUND - SOC LAYER / DYNAMIC AUDIO POWER
	MANAGEM..." <alsa-devel@alsa-project.org>,
	Maruthi Srinivas Bayyavarapu <Maruthi.Bayyavarapu@amd.com>,
	kbuild-all@lists.01.org, open list <linux-kernel@vger.kernel.org>,
	Takashi Iwai <tiwai@suse.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Akshu.Agrawal@amd.com, Sanju R Mehta <sanju.mehta@amd.com>,
	Julia Lawall <julia.lawall@lip6.fr>,
	Colin Ian King <colin.king@canonical.com>,
	Mark Brown <broonie@kernel.org>,
	djkurtz@google.com, Vijendar Mukunda <Vijendar.Mukunda@amd.com>,
	Ravulapati Vishnu vardhan rao
	<Vishnuvardhanrao.Ravulapati@amd.com>,
	Alexander.Deucher@amd.com,
	Dan Carpenter <dan.carpenter@oracle.com>
Subject: Re: [alsa-devel] [kbuild-all] Re: [PATCH v5 1/6] ASoC: amd:Create multiple I2S platform device Endpoint (fwd)
Date: Mon, 18 Nov 2019 21:34:30 +0800	[thread overview]
Message-ID: <20191118133430.GB3979@intel.com> (raw)
In-Reply-To: <ff992812-3bf1-4cc0-1e07-e11392cf5dca@amd.com>

On Mon, Nov 18, 2019 at 02:29:01PM +0530, vishnu wrote:
> Hi Julia,
> 
> This is not latest version.I have already send V6 version.
> The comment which you gave is for v5 old version.
sorry Vishnu, this is kbuild side problem. We will check
why we didn't block the report when there's new version.

> 
> 
> Thanks,
> Vishnu
> 
> On 17/11/19 4:31 PM, Julia Lawall wrote:
> > On line 70, adata->res is allocated with a devm function, so it shouldn't
> > be passed to kfree later; that will lead to a double free.
> > 
> > julia
> > 
> > ---------- Forwarded message ----------
> > Date: Sun, 17 Nov 2019 11:44:07 +0800
> > From: kbuild test robot <lkp@intel.com>
> > To: kbuild@lists.01.org
> > Cc: Julia Lawall <julia.lawall@lip6.fr>
> > Subject: Re: [PATCH v5 1/6] ASoC: amd:Create multiple I2S platform device
> >      Endpoint
> > 
> > In-Reply-To: <1573629249-13272-2-git-send-email-Vishnuvardhanrao.Ravulapati@amd.com>
> > References: <1573629249-13272-2-git-send-email-Vishnuvardhanrao.Ravulapati@amd.com>
> > 
> > Hi Ravulapati,
> > 
> > Thank you for the patch! Perhaps something to improve:
> > 
> > [auto build test WARNING on asoc/for-next]
> > [cannot apply to v5.4-rc7 next-20191115]
> > [if your patch is applied to the wrong git tree, please drop us a note to help
> > improve the system. BTW, we also suggest to use '--base' option to specify the
> > base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
> > 
> > url:    https://github.com/0day-ci/linux/commits/Ravulapati-Vishnu-vardhan-rao/ASoC-amd-Create-multiple-I2S-platform-device-Endpoint/20191113-230604
> > base:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
> > :::::: branch date: 4 days ago
> > :::::: commit date: 4 days ago
> > 
> > If you fix the issue, kindly add following tag
> > Reported-by: kbuild test robot <lkp@intel.com>
> > Reported-by: Julia Lawall <julia.lawall@lip6.fr>
> > 
> > > > sound/soc/amd/raven/pci-acp3x.c:142:1-6: WARNING: invalid free of devm_ allocated data
> > 
> > # https://github.com/0day-ci/linux/commit/79701559637a30a0708febfd5119ad05128b2ba5
> > git remote add linux-review https://github.com/0day-ci/linux
> > git remote update linux-review
> > git checkout 79701559637a30a0708febfd5119ad05128b2ba5
> > vim +142 sound/soc/amd/raven/pci-acp3x.c
> > 
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   21
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   22  static int snd_acp3x_probe(struct pci_dev *pci,
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   23  			   const struct pci_device_id *pci_id)
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   24  {
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   25  	int ret;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   26  	u32 addr, val, i;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   27  	struct acp3x_dev_data *adata;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   28  	struct platform_device_info pdevinfo[ACP3x_DEVS];
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   29  	unsigned int irqflags;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   30
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   31  	if (pci_enable_device(pci)) {
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   32  		dev_err(&pci->dev, "pci_enable_device failed\n");
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   33  		return -ENODEV;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   34  	}
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   35
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   36  	ret = pci_request_regions(pci, "AMD ACP3x audio");
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   37  	if (ret < 0) {
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   38  		dev_err(&pci->dev, "pci_request_regions failed\n");
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   39  		goto disable_pci;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   40  	}
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   41
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   42  	adata = devm_kzalloc(&pci->dev, sizeof(struct acp3x_dev_data),
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   43  			     GFP_KERNEL);
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   44  	if (!adata) {
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   45  		ret = -ENOMEM;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   46  		goto release_regions;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   47  	}
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   48
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   49  	/* check for msi interrupt support */
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   50  	ret = pci_enable_msi(pci);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   51  	if (ret)
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   52  		/* msi is not enabled */
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   53  		irqflags = IRQF_SHARED;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   54  	else
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   55  		/* msi is enabled */
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   56  		irqflags = 0;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   57
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   58  	addr = pci_resource_start(pci, 0);
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   59  	adata->acp3x_base = ioremap(addr, pci_resource_len(pci, 0));
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   60  	if (!adata->acp3x_base) {
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   61  		ret = -ENOMEM;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   62  		goto release_regions;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   63  	}
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   64  	pci_set_master(pci);
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   65  	pci_set_drvdata(pci, adata);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   66
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   67  	val = rv_readl(adata->acp3x_base + mmACP_I2S_PIN_CONFIG);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   68  	switch (val) {
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   69  	case I2S_MODE:
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   70  		adata->res = devm_kzalloc(&pci->dev,
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   71  					  sizeof(struct resource) * 4,
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   72  					  GFP_KERNEL);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   73  		if (!adata->res) {
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   74  			ret = -ENOMEM;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   75  			goto unmap_mmio;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   76  		}
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   77
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   78  		adata->res[0].name = "acp3x_i2s_iomem";
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   79  		adata->res[0].flags = IORESOURCE_MEM;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   80  		adata->res[0].start = addr;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   81  		adata->res[0].end = addr + (ACP3x_REG_END - ACP3x_REG_START);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   82
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   83  		adata->res[1].name = "acp3x_i2s_sp";
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   84  		adata->res[1].flags = IORESOURCE_MEM;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   85  		adata->res[1].start = addr + ACP3x_I2STDM_REG_START;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   86  		adata->res[1].end = addr + ACP3x_I2STDM_REG_END;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   87
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   88  		adata->res[2].name = "acp3x_i2s_bt";
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   89  		adata->res[2].flags = IORESOURCE_MEM;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   90  		adata->res[2].start = addr + ACP3x_BT_TDM_REG_START;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   91  		adata->res[2].end = addr + ACP3x_BT_TDM_REG_END;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   92
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   93  		adata->res[3].name = "acp3x_i2s_irq";
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   94  		adata->res[3].flags = IORESOURCE_IRQ;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   95  		adata->res[3].start = pci->irq;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   96  		adata->res[3].end = adata->res[3].start;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   97
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   98  		adata->acp3x_audio_mode = ACP3x_I2S_MODE;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   99
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  100  		memset(&pdevinfo, 0, sizeof(pdevinfo));
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  101  		pdevinfo[0].name = "acp3x_rv_i2s_dma";
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  102  		pdevinfo[0].id = 0;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  103  		pdevinfo[0].parent = &pci->dev;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  104  		pdevinfo[0].num_res = 4;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  105  		pdevinfo[0].res = &adata->res[0];
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  106  		pdevinfo[0].data = &irqflags;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  107  		pdevinfo[0].size_data = sizeof(irqflags);
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  108
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  109  		pdevinfo[1].name = "acp3x_i2s_playcap";
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  110  		pdevinfo[1].id = 0;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  111  		pdevinfo[1].parent = &pci->dev;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  112  		pdevinfo[1].num_res = 1;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  113  		pdevinfo[1].res = &adata->res[1];
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  114
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  115  		pdevinfo[2].name = "acp3x_i2s_playcap";
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  116  		pdevinfo[2].id = 1;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  117  		pdevinfo[2].parent = &pci->dev;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  118  		pdevinfo[2].num_res = 1;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  119  		pdevinfo[2].res = &adata->res[2];
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  120  		for (i = 0; i < ACP3x_DEVS ; i++) {
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  121  			adata->pdev[i] =
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  122  				platform_device_register_full(&pdevinfo[i]);
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  123  			if (IS_ERR(adata->pdev[i])) {
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  124  				dev_err(&pci->dev, "cannot register %s device\n",
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  125  					pdevinfo[i].name);
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  126  				ret = PTR_ERR(adata->pdev[i]);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  127  				goto unmap_mmio;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  128  			}
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  129  		}
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  130  		break;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  131  	default:
> > 00347e4ea8ca4c Colin Ian King                2018-11-16  132  		dev_err(&pci->dev, "Invalid ACP audio mode : %d\n", val);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  133  		ret = -ENODEV;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  134  		goto unmap_mmio;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  135  	}
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  136  	return 0;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  137
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  138  unmap_mmio:
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  139  	pci_disable_msi(pci);
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  140  	for (i = 0 ; i < ACP3x_DEVS ; i++)
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  141  		platform_device_unregister(adata->pdev[i]);
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13 @142  	kfree(adata->res);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  143  	iounmap(adata->acp3x_base);
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  144  release_regions:
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  145  	pci_release_regions(pci);
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  146  disable_pci:
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  147  	pci_disable_device(pci);
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  148
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  149  	return ret;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  150  }
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  151
> > 
> > ---
> > 0-DAY kernel test infrastructure                 Open Source Technology Center
> > https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
> > 
> _______________________________________________
> kbuild-all mailing list -- kbuild-all@lists.01.org
> To unsubscribe send an email to kbuild-all-leave@lists.01.org
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

WARNING: multiple messages have this Message-ID (diff)
From: Philip Li <philip.li@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v5 1/6] ASoC: amd:Create multiple I2S platform device Endpoint (fwd)
Date: Mon, 18 Nov 2019 21:34:30 +0800	[thread overview]
Message-ID: <20191118133430.GB3979@intel.com> (raw)
In-Reply-To: <ff992812-3bf1-4cc0-1e07-e11392cf5dca@amd.com>

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

On Mon, Nov 18, 2019 at 02:29:01PM +0530, vishnu wrote:
> Hi Julia,
> 
> This is not latest version.I have already send V6 version.
> The comment which you gave is for v5 old version.
sorry Vishnu, this is kbuild side problem. We will check
why we didn't block the report when there's new version.

> 
> 
> Thanks,
> Vishnu
> 
> On 17/11/19 4:31 PM, Julia Lawall wrote:
> > On line 70, adata->res is allocated with a devm function, so it shouldn't
> > be passed to kfree later; that will lead to a double free.
> > 
> > julia
> > 
> > ---------- Forwarded message ----------
> > Date: Sun, 17 Nov 2019 11:44:07 +0800
> > From: kbuild test robot <lkp@intel.com>
> > To: kbuild(a)lists.01.org
> > Cc: Julia Lawall <julia.lawall@lip6.fr>
> > Subject: Re: [PATCH v5 1/6] ASoC: amd:Create multiple I2S platform device
> >      Endpoint
> > 
> > In-Reply-To: <1573629249-13272-2-git-send-email-Vishnuvardhanrao.Ravulapati@amd.com>
> > References: <1573629249-13272-2-git-send-email-Vishnuvardhanrao.Ravulapati@amd.com>
> > 
> > Hi Ravulapati,
> > 
> > Thank you for the patch! Perhaps something to improve:
> > 
> > [auto build test WARNING on asoc/for-next]
> > [cannot apply to v5.4-rc7 next-20191115]
> > [if your patch is applied to the wrong git tree, please drop us a note to help
> > improve the system. BTW, we also suggest to use '--base' option to specify the
> > base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
> > 
> > url:    https://github.com/0day-ci/linux/commits/Ravulapati-Vishnu-vardhan-rao/ASoC-amd-Create-multiple-I2S-platform-device-Endpoint/20191113-230604
> > base:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
> > :::::: branch date: 4 days ago
> > :::::: commit date: 4 days ago
> > 
> > If you fix the issue, kindly add following tag
> > Reported-by: kbuild test robot <lkp@intel.com>
> > Reported-by: Julia Lawall <julia.lawall@lip6.fr>
> > 
> > > > sound/soc/amd/raven/pci-acp3x.c:142:1-6: WARNING: invalid free of devm_ allocated data
> > 
> > # https://github.com/0day-ci/linux/commit/79701559637a30a0708febfd5119ad05128b2ba5
> > git remote add linux-review https://github.com/0day-ci/linux
> > git remote update linux-review
> > git checkout 79701559637a30a0708febfd5119ad05128b2ba5
> > vim +142 sound/soc/amd/raven/pci-acp3x.c
> > 
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   21
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   22  static int snd_acp3x_probe(struct pci_dev *pci,
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   23  			   const struct pci_device_id *pci_id)
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   24  {
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   25  	int ret;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   26  	u32 addr, val, i;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   27  	struct acp3x_dev_data *adata;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   28  	struct platform_device_info pdevinfo[ACP3x_DEVS];
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   29  	unsigned int irqflags;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   30
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   31  	if (pci_enable_device(pci)) {
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   32  		dev_err(&pci->dev, "pci_enable_device failed\n");
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   33  		return -ENODEV;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   34  	}
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   35
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   36  	ret = pci_request_regions(pci, "AMD ACP3x audio");
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   37  	if (ret < 0) {
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   38  		dev_err(&pci->dev, "pci_request_regions failed\n");
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   39  		goto disable_pci;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   40  	}
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   41
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   42  	adata = devm_kzalloc(&pci->dev, sizeof(struct acp3x_dev_data),
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   43  			     GFP_KERNEL);
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   44  	if (!adata) {
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   45  		ret = -ENOMEM;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   46  		goto release_regions;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   47  	}
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   48
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   49  	/* check for msi interrupt support */
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   50  	ret = pci_enable_msi(pci);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   51  	if (ret)
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   52  		/* msi is not enabled */
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   53  		irqflags = IRQF_SHARED;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   54  	else
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   55  		/* msi is enabled */
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   56  		irqflags = 0;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   57
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   58  	addr = pci_resource_start(pci, 0);
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   59  	adata->acp3x_base = ioremap(addr, pci_resource_len(pci, 0));
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   60  	if (!adata->acp3x_base) {
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   61  		ret = -ENOMEM;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   62  		goto release_regions;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   63  	}
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   64  	pci_set_master(pci);
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   65  	pci_set_drvdata(pci, adata);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   66
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   67  	val = rv_readl(adata->acp3x_base + mmACP_I2S_PIN_CONFIG);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   68  	switch (val) {
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   69  	case I2S_MODE:
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   70  		adata->res = devm_kzalloc(&pci->dev,
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   71  					  sizeof(struct resource) * 4,
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   72  					  GFP_KERNEL);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   73  		if (!adata->res) {
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   74  			ret = -ENOMEM;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   75  			goto unmap_mmio;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   76  		}
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   77
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   78  		adata->res[0].name = "acp3x_i2s_iomem";
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   79  		adata->res[0].flags = IORESOURCE_MEM;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   80  		adata->res[0].start = addr;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   81  		adata->res[0].end = addr + (ACP3x_REG_END - ACP3x_REG_START);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   82
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   83  		adata->res[1].name = "acp3x_i2s_sp";
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   84  		adata->res[1].flags = IORESOURCE_MEM;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   85  		adata->res[1].start = addr + ACP3x_I2STDM_REG_START;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   86  		adata->res[1].end = addr + ACP3x_I2STDM_REG_END;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   87
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   88  		adata->res[2].name = "acp3x_i2s_bt";
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   89  		adata->res[2].flags = IORESOURCE_MEM;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   90  		adata->res[2].start = addr + ACP3x_BT_TDM_REG_START;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   91  		adata->res[2].end = addr + ACP3x_BT_TDM_REG_END;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   92
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   93  		adata->res[3].name = "acp3x_i2s_irq";
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   94  		adata->res[3].flags = IORESOURCE_IRQ;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   95  		adata->res[3].start = pci->irq;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   96  		adata->res[3].end = adata->res[3].start;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   97
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   98  		adata->acp3x_audio_mode = ACP3x_I2S_MODE;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   99
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  100  		memset(&pdevinfo, 0, sizeof(pdevinfo));
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  101  		pdevinfo[0].name = "acp3x_rv_i2s_dma";
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  102  		pdevinfo[0].id = 0;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  103  		pdevinfo[0].parent = &pci->dev;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  104  		pdevinfo[0].num_res = 4;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  105  		pdevinfo[0].res = &adata->res[0];
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  106  		pdevinfo[0].data = &irqflags;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  107  		pdevinfo[0].size_data = sizeof(irqflags);
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  108
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  109  		pdevinfo[1].name = "acp3x_i2s_playcap";
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  110  		pdevinfo[1].id = 0;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  111  		pdevinfo[1].parent = &pci->dev;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  112  		pdevinfo[1].num_res = 1;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  113  		pdevinfo[1].res = &adata->res[1];
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  114
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  115  		pdevinfo[2].name = "acp3x_i2s_playcap";
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  116  		pdevinfo[2].id = 1;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  117  		pdevinfo[2].parent = &pci->dev;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  118  		pdevinfo[2].num_res = 1;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  119  		pdevinfo[2].res = &adata->res[2];
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  120  		for (i = 0; i < ACP3x_DEVS ; i++) {
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  121  			adata->pdev[i] =
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  122  				platform_device_register_full(&pdevinfo[i]);
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  123  			if (IS_ERR(adata->pdev[i])) {
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  124  				dev_err(&pci->dev, "cannot register %s device\n",
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  125  					pdevinfo[i].name);
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  126  				ret = PTR_ERR(adata->pdev[i]);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  127  				goto unmap_mmio;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  128  			}
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  129  		}
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  130  		break;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  131  	default:
> > 00347e4ea8ca4c Colin Ian King                2018-11-16  132  		dev_err(&pci->dev, "Invalid ACP audio mode : %d\n", val);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  133  		ret = -ENODEV;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  134  		goto unmap_mmio;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  135  	}
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  136  	return 0;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  137
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  138  unmap_mmio:
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  139  	pci_disable_msi(pci);
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  140  	for (i = 0 ; i < ACP3x_DEVS ; i++)
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  141  		platform_device_unregister(adata->pdev[i]);
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13 @142  	kfree(adata->res);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  143  	iounmap(adata->acp3x_base);
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  144  release_regions:
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  145  	pci_release_regions(pci);
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  146  disable_pci:
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  147  	pci_disable_device(pci);
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  148
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  149  	return ret;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  150  }
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  151
> > 
> > ---
> > 0-DAY kernel test infrastructure                 Open Source Technology Center
> > https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corporation
> > 
> _______________________________________________
> kbuild-all mailing list -- kbuild-all(a)lists.01.org
> To unsubscribe send an email to kbuild-all-leave(a)lists.01.org

WARNING: multiple messages have this Message-ID (diff)
From: Philip Li <philip.li@intel.com>
To: vishnu <vravulap@amd.com>
Cc: Julia Lawall <julia.lawall@lip6.fr>,
	Ravulapati Vishnu vardhan rao 
	<Vishnuvardhanrao.Ravulapati@amd.com>,
	Alexander.Deucher@amd.com, djkurtz@google.com,
	Akshu.Agrawal@amd.com, Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>, Jaroslav Kysela <perex@perex.cz>,
	Takashi Iwai <tiwai@suse.com>,
	Vijendar Mukunda <Vijendar.Mukunda@amd.com>,
	Maruthi Srinivas Bayyavarapu <Maruthi.Bayyavarapu@amd.com>,
	Sanju R Mehta <sanju.mehta@amd.com>,
	Dan Carpenter <dan.carpenter@oracle.com>,
	Colin Ian King <colin.king@canonical.com>,
	"moderated list:SOUND - SOC LAYER / DYNAMIC AUDIO POWER
	MANAGEM..."  <alsa-devel@alsa-project.org>,
	open list <linux-kernel@vger.kernel.org>,
	kbuild-all@lists.01.org
Subject: Re: [kbuild-all] Re: [PATCH v5 1/6] ASoC: amd:Create multiple I2S platform device Endpoint (fwd)
Date: Mon, 18 Nov 2019 21:34:30 +0800	[thread overview]
Message-ID: <20191118133430.GB3979@intel.com> (raw)
In-Reply-To: <ff992812-3bf1-4cc0-1e07-e11392cf5dca@amd.com>

On Mon, Nov 18, 2019 at 02:29:01PM +0530, vishnu wrote:
> Hi Julia,
> 
> This is not latest version.I have already send V6 version.
> The comment which you gave is for v5 old version.
sorry Vishnu, this is kbuild side problem. We will check
why we didn't block the report when there's new version.

> 
> 
> Thanks,
> Vishnu
> 
> On 17/11/19 4:31 PM, Julia Lawall wrote:
> > On line 70, adata->res is allocated with a devm function, so it shouldn't
> > be passed to kfree later; that will lead to a double free.
> > 
> > julia
> > 
> > ---------- Forwarded message ----------
> > Date: Sun, 17 Nov 2019 11:44:07 +0800
> > From: kbuild test robot <lkp@intel.com>
> > To: kbuild@lists.01.org
> > Cc: Julia Lawall <julia.lawall@lip6.fr>
> > Subject: Re: [PATCH v5 1/6] ASoC: amd:Create multiple I2S platform device
> >      Endpoint
> > 
> > In-Reply-To: <1573629249-13272-2-git-send-email-Vishnuvardhanrao.Ravulapati@amd.com>
> > References: <1573629249-13272-2-git-send-email-Vishnuvardhanrao.Ravulapati@amd.com>
> > 
> > Hi Ravulapati,
> > 
> > Thank you for the patch! Perhaps something to improve:
> > 
> > [auto build test WARNING on asoc/for-next]
> > [cannot apply to v5.4-rc7 next-20191115]
> > [if your patch is applied to the wrong git tree, please drop us a note to help
> > improve the system. BTW, we also suggest to use '--base' option to specify the
> > base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
> > 
> > url:    https://github.com/0day-ci/linux/commits/Ravulapati-Vishnu-vardhan-rao/ASoC-amd-Create-multiple-I2S-platform-device-Endpoint/20191113-230604
> > base:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
> > :::::: branch date: 4 days ago
> > :::::: commit date: 4 days ago
> > 
> > If you fix the issue, kindly add following tag
> > Reported-by: kbuild test robot <lkp@intel.com>
> > Reported-by: Julia Lawall <julia.lawall@lip6.fr>
> > 
> > > > sound/soc/amd/raven/pci-acp3x.c:142:1-6: WARNING: invalid free of devm_ allocated data
> > 
> > # https://github.com/0day-ci/linux/commit/79701559637a30a0708febfd5119ad05128b2ba5
> > git remote add linux-review https://github.com/0day-ci/linux
> > git remote update linux-review
> > git checkout 79701559637a30a0708febfd5119ad05128b2ba5
> > vim +142 sound/soc/amd/raven/pci-acp3x.c
> > 
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   21
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   22  static int snd_acp3x_probe(struct pci_dev *pci,
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   23  			   const struct pci_device_id *pci_id)
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   24  {
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   25  	int ret;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   26  	u32 addr, val, i;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   27  	struct acp3x_dev_data *adata;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   28  	struct platform_device_info pdevinfo[ACP3x_DEVS];
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   29  	unsigned int irqflags;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   30
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   31  	if (pci_enable_device(pci)) {
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   32  		dev_err(&pci->dev, "pci_enable_device failed\n");
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   33  		return -ENODEV;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   34  	}
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   35
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   36  	ret = pci_request_regions(pci, "AMD ACP3x audio");
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   37  	if (ret < 0) {
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   38  		dev_err(&pci->dev, "pci_request_regions failed\n");
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   39  		goto disable_pci;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   40  	}
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   41
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   42  	adata = devm_kzalloc(&pci->dev, sizeof(struct acp3x_dev_data),
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   43  			     GFP_KERNEL);
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   44  	if (!adata) {
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   45  		ret = -ENOMEM;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   46  		goto release_regions;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   47  	}
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   48
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   49  	/* check for msi interrupt support */
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   50  	ret = pci_enable_msi(pci);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   51  	if (ret)
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   52  		/* msi is not enabled */
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   53  		irqflags = IRQF_SHARED;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   54  	else
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   55  		/* msi is enabled */
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   56  		irqflags = 0;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   57
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   58  	addr = pci_resource_start(pci, 0);
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   59  	adata->acp3x_base = ioremap(addr, pci_resource_len(pci, 0));
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   60  	if (!adata->acp3x_base) {
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   61  		ret = -ENOMEM;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   62  		goto release_regions;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   63  	}
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   64  	pci_set_master(pci);
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12   65  	pci_set_drvdata(pci, adata);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   66
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   67  	val = rv_readl(adata->acp3x_base + mmACP_I2S_PIN_CONFIG);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   68  	switch (val) {
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   69  	case I2S_MODE:
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   70  		adata->res = devm_kzalloc(&pci->dev,
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   71  					  sizeof(struct resource) * 4,
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   72  					  GFP_KERNEL);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   73  		if (!adata->res) {
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   74  			ret = -ENOMEM;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   75  			goto unmap_mmio;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   76  		}
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   77
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   78  		adata->res[0].name = "acp3x_i2s_iomem";
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   79  		adata->res[0].flags = IORESOURCE_MEM;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   80  		adata->res[0].start = addr;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   81  		adata->res[0].end = addr + (ACP3x_REG_END - ACP3x_REG_START);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   82
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   83  		adata->res[1].name = "acp3x_i2s_sp";
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   84  		adata->res[1].flags = IORESOURCE_MEM;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   85  		adata->res[1].start = addr + ACP3x_I2STDM_REG_START;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   86  		adata->res[1].end = addr + ACP3x_I2STDM_REG_END;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   87
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   88  		adata->res[2].name = "acp3x_i2s_bt";
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   89  		adata->res[2].flags = IORESOURCE_MEM;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   90  		adata->res[2].start = addr + ACP3x_BT_TDM_REG_START;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   91  		adata->res[2].end = addr + ACP3x_BT_TDM_REG_END;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   92
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   93  		adata->res[3].name = "acp3x_i2s_irq";
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   94  		adata->res[3].flags = IORESOURCE_IRQ;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   95  		adata->res[3].start = pci->irq;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13   96  		adata->res[3].end = adata->res[3].start;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   97
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   98  		adata->acp3x_audio_mode = ACP3x_I2S_MODE;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12   99
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  100  		memset(&pdevinfo, 0, sizeof(pdevinfo));
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  101  		pdevinfo[0].name = "acp3x_rv_i2s_dma";
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  102  		pdevinfo[0].id = 0;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  103  		pdevinfo[0].parent = &pci->dev;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  104  		pdevinfo[0].num_res = 4;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  105  		pdevinfo[0].res = &adata->res[0];
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  106  		pdevinfo[0].data = &irqflags;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  107  		pdevinfo[0].size_data = sizeof(irqflags);
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  108
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  109  		pdevinfo[1].name = "acp3x_i2s_playcap";
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  110  		pdevinfo[1].id = 0;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  111  		pdevinfo[1].parent = &pci->dev;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  112  		pdevinfo[1].num_res = 1;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  113  		pdevinfo[1].res = &adata->res[1];
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  114
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  115  		pdevinfo[2].name = "acp3x_i2s_playcap";
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  116  		pdevinfo[2].id = 1;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  117  		pdevinfo[2].parent = &pci->dev;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  118  		pdevinfo[2].num_res = 1;
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  119  		pdevinfo[2].res = &adata->res[2];
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  120  		for (i = 0; i < ACP3x_DEVS ; i++) {
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  121  			adata->pdev[i] =
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  122  				platform_device_register_full(&pdevinfo[i]);
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  123  			if (IS_ERR(adata->pdev[i])) {
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  124  				dev_err(&pci->dev, "cannot register %s device\n",
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  125  					pdevinfo[i].name);
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  126  				ret = PTR_ERR(adata->pdev[i]);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  127  				goto unmap_mmio;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  128  			}
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  129  		}
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  130  		break;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  131  	default:
> > 00347e4ea8ca4c Colin Ian King                2018-11-16  132  		dev_err(&pci->dev, "Invalid ACP audio mode : %d\n", val);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  133  		ret = -ENODEV;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  134  		goto unmap_mmio;
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  135  	}
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  136  	return 0;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  137
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  138  unmap_mmio:
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  139  	pci_disable_msi(pci);
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  140  	for (i = 0 ; i < ACP3x_DEVS ; i++)
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13  141  		platform_device_unregister(adata->pdev[i]);
> > 79701559637a30 Ravulapati Vishnu vardhan rao 2019-11-13 @142  	kfree(adata->res);
> > 7894a7e7ea3de6 Vijendar Mukunda              2018-11-12  143  	iounmap(adata->acp3x_base);
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  144  release_regions:
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  145  	pci_release_regions(pci);
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  146  disable_pci:
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  147  	pci_disable_device(pci);
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  148
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  149  	return ret;
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  150  }
> > e30d9128def6ca Maruthi Srinivas Bayyavarapu  2018-11-12  151
> > 
> > ---
> > 0-DAY kernel test infrastructure                 Open Source Technology Center
> > https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
> > 
> _______________________________________________
> kbuild-all mailing list -- kbuild-all@lists.01.org
> To unsubscribe send an email to kbuild-all-leave@lists.01.org

  reply	other threads:[~2019-11-20 11:04 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-17 11:01 [alsa-devel] [PATCH v5 1/6] ASoC: amd:Create multiple I2S platform device Endpoint (fwd) Julia Lawall
2019-11-17 11:01 ` Julia Lawall
2019-11-18  8:59 ` [alsa-devel] " vishnu
2019-11-18  8:59   ` vishnu
2019-11-18  8:59   ` vishnu
2019-11-18 13:34   ` Philip Li [this message]
2019-11-18 13:34     ` [kbuild-all] " Philip Li
2019-11-18 13:34     ` Philip Li

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=20191118133430.GB3979@intel.com \
    --to=philip.li@intel.com \
    --cc=Akshu.Agrawal@amd.com \
    --cc=Alexander.Deucher@amd.com \
    --cc=Maruthi.Bayyavarapu@amd.com \
    --cc=Vijendar.Mukunda@amd.com \
    --cc=Vishnuvardhanrao.Ravulapati@amd.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=colin.king@canonical.com \
    --cc=dan.carpenter@oracle.com \
    --cc=djkurtz@google.com \
    --cc=julia.lawall@lip6.fr \
    --cc=kbuild-all@lists.01.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sanju.mehta@amd.com \
    --cc=tiwai@suse.com \
    --cc=vravulap@amd.com \
    /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.