summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorSubhransu S. Prusty <subhransu.s.prusty@intel.com>2014-07-30 17:09:05 +0400
committerMark Brown <broonie@linaro.org>2014-07-31 23:18:09 +0400
commit2741d43a1edd13c81a50ceb63f4edbf5fedb53ce (patch)
tree95a69a817a7a5fa89f258b1f493891ff46cf63e0 /sound
parent19a23a5d76e59f84caafea7a3299c23894ecad63 (diff)
downloadlinux-2741d43a1edd13c81a50ceb63f4edbf5fedb53ce.tar.xz
ASoC: Intel: mfld-pcm: Allocate platform data
Platform data may be null during platform_device_add. Allocate platform data before using. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/intel/sst-mfld-platform-pcm.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sound/soc/intel/sst-mfld-platform-pcm.c b/sound/soc/intel/sst-mfld-platform-pcm.c
index 47df05ed3ac3..706212a6a68c 100644
--- a/sound/soc/intel/sst-mfld-platform-pcm.c
+++ b/sound/soc/intel/sst-mfld-platform-pcm.c
@@ -570,7 +570,7 @@ static int sst_platform_probe(struct platform_device *pdev)
{
struct sst_data *drv;
int ret;
- struct sst_platform_data *pdata = pdev->dev.platform_data;
+ struct sst_platform_data *pdata;
drv = devm_kzalloc(&pdev->dev, sizeof(*drv), GFP_KERNEL);
if (drv == NULL) {
@@ -578,6 +578,12 @@ static int sst_platform_probe(struct platform_device *pdev)
return -ENOMEM;
}
+ pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
+ if (pdata == NULL) {
+ pr_err("kzalloc failed for pdata\n");
+ return -ENOMEM;
+ }
+
pdata->pdev_strm_map = dpcm_strm_map;
pdata->strm_map_size = ARRAY_SIZE(dpcm_strm_map);
drv->pdata = pdata;