[alsa-devel] [PATCH] ASoC: Intel: Fix the driver data not set issue
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;
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
participants (3)
-
Jie Yang
-
Liam Girdwood
-
Mark Brown