Message ID | 1415083524-22756-1-git-send-email-yang.jie@intel.com (mailing list archive) |
---|---|
State | Accepted |
Commit | e648f6add20d1cfb5945e24b5bffe5843476645b |
Headers | show |
On Tue, Nov 04, 2014 at 02:45:24PM +0800, Jie Yang wrote: > The priv_data is allocated again here wrongly, and it > is not set to the driver data after assignment. This > make the pdata->dev is NULL and oops occurs on the first > call to hsw_volume_put. Applied, thanks.
On Tue, 2014-11-04 at 14:45 +0800, Jie Yang wrote: > The priv_data is allocated again here wrongly, and it > is not set to the driver data after assignment. This > make the pdata->dev is NULL and oops occurs on the first > call to hsw_volume_put. > > The resource has been allocated in driver probe callback > hsw_pcm_dev_probe, so here just remove this sencond > allocation is OK. > > Signed-off-by: Jie Yang <yang.jie@intel.com> > --- > sound/soc/intel/sst-haswell-pcm.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/sound/soc/intel/sst-haswell-pcm.c b/sound/soc/intel/sst-haswell-pcm.c > index 21f1316..bc02a6e 100644 > --- a/sound/soc/intel/sst-haswell-pcm.c > +++ b/sound/soc/intel/sst-haswell-pcm.c > @@ -866,7 +866,6 @@ static int hsw_pcm_probe(struct snd_soc_platform *platform) > dev = platform->dev; > dma_dev = pdata->dma_dev; > > - priv_data = devm_kzalloc(platform->dev, sizeof(*priv_data), GFP_KERNEL); > priv_data->hsw = pdata->dsp; > priv_data->dev = platform->dev; > priv_data->pm_state = HSW_PM_STATE_D0; Keyon, I've just updated git and it looks like this patch is probably missing some parts :- CC [M] sound/soc/intel/haswell.o sound/soc/intel/sst-haswell-pcm.c: In function ‘hsw_pcm_probe’: sound/soc/intel/sst-haswell-pcm.c:870:17: warning: ‘priv_data’ may be used uninitialized in this function [-Wmaybe-uninitialized] priv_data->hsw = pdata->dsp; ^ Can you fix this and re-test. Thanks Liam
On Tue, 2014-11-04 at 15:48 +0000, Liam Girdwood wrote: > On Tue, 2014-11-04 at 14:45 +0800, Jie Yang wrote: > > The priv_data is allocated again here wrongly, and it > > is not set to the driver data after assignment. This > > make the pdata->dev is NULL and oops occurs on the first > > call to hsw_volume_put. > > > > The resource has been allocated in driver probe callback > > hsw_pcm_dev_probe, so here just remove this sencond > > allocation is OK. > > > > Signed-off-by: Jie Yang <yang.jie@intel.com> > > --- > > sound/soc/intel/sst-haswell-pcm.c | 1 - > > 1 file changed, 1 deletion(-) > > > > diff --git a/sound/soc/intel/sst-haswell-pcm.c b/sound/soc/intel/sst-haswell-pcm.c > > index 21f1316..bc02a6e 100644 > > --- a/sound/soc/intel/sst-haswell-pcm.c > > +++ b/sound/soc/intel/sst-haswell-pcm.c > > @@ -866,7 +866,6 @@ static int hsw_pcm_probe(struct snd_soc_platform *platform) > > dev = platform->dev; > > dma_dev = pdata->dma_dev; > > > > - priv_data = devm_kzalloc(platform->dev, sizeof(*priv_data), GFP_KERNEL); > > priv_data->hsw = pdata->dsp; > > priv_data->dev = platform->dev; > > priv_data->pm_state = HSW_PM_STATE_D0; > > Keyon, I've just updated git and it looks like this patch is probably > missing some parts :- > > CC [M] sound/soc/intel/haswell.o > sound/soc/intel/sst-haswell-pcm.c: In function ‘hsw_pcm_probe’: > sound/soc/intel/sst-haswell-pcm.c:870:17: warning: ‘priv_data’ may be used uninitialized in this function [-Wmaybe-uninitialized] > priv_data->hsw = pdata->dsp; > ^ > > Can you fix this and re-test. > It's actually a subsequent non upstream patch on top of this one that is causing the warning. So nothing to be done except fixing the non upstream patch. Liam
diff --git a/sound/soc/intel/sst-haswell-pcm.c b/sound/soc/intel/sst-haswell-pcm.c index 21f1316..bc02a6e 100644 --- a/sound/soc/intel/sst-haswell-pcm.c +++ b/sound/soc/intel/sst-haswell-pcm.c @@ -866,7 +866,6 @@ static int hsw_pcm_probe(struct snd_soc_platform *platform) dev = platform->dev; dma_dev = pdata->dma_dev; - priv_data = devm_kzalloc(platform->dev, sizeof(*priv_data), GFP_KERNEL); priv_data->hsw = pdata->dsp; priv_data->dev = platform->dev; priv_data->pm_state = HSW_PM_STATE_D0;
The priv_data is allocated again here wrongly, and it is not set to the driver data after assignment. This make the pdata->dev is NULL and oops occurs on the first call to hsw_volume_put. The resource has been allocated in driver probe callback hsw_pcm_dev_probe, so here just remove this sencond allocation is OK. Signed-off-by: Jie Yang <yang.jie@intel.com> --- sound/soc/intel/sst-haswell-pcm.c | 1 - 1 file changed, 1 deletion(-)