Message ID | 1393339067-10307-1-git-send-email-jarkko.nikula@linux.intel.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 5069e5c93ca73eab185d3bb338a1362275f9ea70 |
Headers | show |
On Tue, 2014-02-25 at 16:37 +0200, Jarkko Nikula wrote: > I swear I tested missing firmware in commit e5161d7987f1 ("ASoC: Intel: > sst-acpi: Request firmware before SST platform driver probing"). > > Unfortunately same wasn't done in commit 6dda27cbbd1d ("ASoC: Intel: > sst-acpi: Add support for multiple machine drivers per platform") which > will cause NULL pointer dereference in sst_acpi_fw_cb() when printing the > error since sst_acpi->mach is not set. > > Fix this obvious error by setting the sst_acpi->mach in sst_acpi_probe(). > > Reported-by: Mika Westerberg <mika.westerberg@linux.intel.com> > Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
On Tue, 2014-02-25 at 16:37 +0200, Jarkko Nikula wrote: > I swear I tested missing firmware in commit e5161d7987f1 ("ASoC: Intel: > sst-acpi: Request firmware before SST platform driver probing"). > > Unfortunately same wasn't done in commit 6dda27cbbd1d ("ASoC: Intel: > sst-acpi: Add support for multiple machine drivers per platform") which > will cause NULL pointer dereference in sst_acpi_fw_cb() when printing the > error since sst_acpi->mach is not set. > > Fix this obvious error by setting the sst_acpi->mach in sst_acpi_probe(). FWIW, I did test with the patch set from lrg's tree as of a couple days ago, and hit this crash. So I can confirm the bug for sure. I'll test the fix with a new kernel build in a couple of hours.
On Tue, Feb 25, 2014 at 04:37:47PM +0200, Jarkko Nikula wrote: > I swear I tested missing firmware in commit e5161d7987f1 ("ASoC: Intel: > sst-acpi: Request firmware before SST platform driver probing"). Applied, thanks.
diff --git a/sound/soc/intel/sst-acpi.c b/sound/soc/intel/sst-acpi.c index 0bb43169e146..5d06eecb6198 100644 --- a/sound/soc/intel/sst-acpi.c +++ b/sound/soc/intel/sst-acpi.c @@ -139,6 +139,7 @@ static int sst_acpi_probe(struct platform_device *pdev) sst_pdata = &sst_acpi->sst_pdata; sst_pdata->id = desc->sst_id; sst_acpi->desc = desc; + sst_acpi->mach = mach; if (desc->resindex_dma_base >= 0) { sst_pdata->dma_engine = desc->dma_engine;
I swear I tested missing firmware in commit e5161d7987f1 ("ASoC: Intel: sst-acpi: Request firmware before SST platform driver probing"). Unfortunately same wasn't done in commit 6dda27cbbd1d ("ASoC: Intel: sst-acpi: Add support for multiple machine drivers per platform") which will cause NULL pointer dereference in sst_acpi_fw_cb() when printing the error since sst_acpi->mach is not set. Fix this obvious error by setting the sst_acpi->mach in sst_acpi_probe(). Reported-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> --- sound/soc/intel/sst-acpi.c | 1 + 1 file changed, 1 insertion(+)