linux_dsm_epyc7002/sound/soc
Fabio Estevam 0984f34100 ASoC: fsl: imx-wm8962: Set the card owner field
The following crash happens when trying to unload the snd_soc_imx_wm8962 module
while playback is active:

[  208.666868] Unable to handle kernel paging request at virtc
[  208.674110] pgd = 80004000
[  208.676867] [7f06541c] *pgd=4c334811, *pte=00000000, *ppte=00000000
[  208.683211] Internal error: Oops: 80000007 [] SMP ARM
[  208.688445] Modules linked in: snd_soc_wm8962 snd_soc_fsl_ssi snd_soc_imx_audmux imx_pcm_fiq evbug]
...

In order to avoid such problem, fill the card owner field as suggested by
Lars-Peter Clausen:

"But looking at the source it seems that this is a core feature of ALSA and at
least for the card module itself it will do the ref-counting when a stream is
started/stopped. And we even support setting the owner of a card in ASoC.
It's just that pretty much no ASoC card driver bothers to set the owner field
in the snd_soc_card struct. So this particular problem can be fixed by updating
the imx-wm8962 driver to set the owner field."

By doing as suggested, we no longer see the crash when attempting to unload the
snd_soc_imx_wm8962 module while playback is active:

$ modprobe -r snd_soc_imx_wm8962
modprobe: can't unload module snd_soc_imx_wm8962: Resource temporarily
unavailable

Reported-by: Jiada Wang <jiada_wang@mentor.com>
Suggested-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-01-14 17:13:46 +00:00
..
adi ASoC: adi: drop owner assignment from platform_drivers 2014-10-20 16:22:03 +02:00
atmel sound fixes for 3.19-rc1 2014-12-19 18:07:17 -08:00
au1x Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
bcm ASoC: bcm: drop owner assignment from platform_drivers 2014-10-20 16:22:04 +02:00
blackfin Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
cirrus Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
codecs sound fixes for 3.19-rc1 2014-12-19 18:07:17 -08:00
davinci Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
dwc Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
fsl ASoC: fsl: imx-wm8962: Set the card owner field 2015-01-14 17:13:46 +00:00
generic Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
intel CONFIG_PM_RUNTIME elimination for 3.19-rc1 2014-12-20 13:37:44 -08:00
jz4740 Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
kirkwood ASoC: kirkwood: drop owner assignment from platform_drivers 2014-10-20 16:22:10 +02:00
mxs Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
nuc900 Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
omap Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
pxa Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
rockchip Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
samsung sound fixes for 3.19-rc1 2014-12-19 18:07:17 -08:00
sh Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sirf ASoC: sirf: drop owner assignment from platform_drivers 2014-10-20 16:22:14 +02:00
spear ASoC: spear: drop owner assignment from platform_drivers 2014-10-20 16:22:14 +02:00
tegra Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
txx9 Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
ux500 Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
Kconfig ASoC: s6000: remove driver 2014-10-20 11:03:52 +01:00
Makefile Merge remote-tracking branches 'asoc/topic/ac97', 'asoc/topic/ad193x', 'asoc/topic/adau1373' and 'asoc/topic/adau17x1' into asoc-next 2014-12-08 13:11:45 +00:00
soc-ac97.c ASoC: ac97: Push snd_ac97 pointer to the driver level 2014-11-18 15:38:03 +00:00
soc-cache.c ASoC: Remove snd_soc_cache_sync() implementation 2014-11-09 09:06:30 +00:00
soc-compress.c ASoC: soc-compress: consolidate two identical branches 2014-10-22 11:36:36 +01:00
soc-core.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
soc-dapm.c ASoC: Remove card field from snd_soc_dai struct 2014-11-04 11:53:53 +00:00
soc-devres.c ASoC: Export devm_snd_soc_register_platform() 2014-04-22 22:00:42 +01:00
soc-generic-dmaengine-pcm.c ASoC: Consolidate platform and CODEC probe/remove 2014-08-19 10:59:45 -05:00
soc-io.c ASoC: Automatically initialize regmap for all components 2014-08-19 10:59:47 -05:00
soc-jack.c Merge remote-tracking branches 'asoc/topic/hdmi', 'asoc/topic/intel', 'asoc/topic/jack', 'asoc/topic/jz4740' and 'asoc/topic/lm49453' into asoc-next 2014-12-08 13:12:00 +00:00
soc-ops.c ASoC: core: Split ops out of soc-core.c 2014-10-29 11:15:10 +00:00
soc-pcm.c Merge remote-tracking branches 'asoc/topic/davinci', 'asoc/topic/doc', 'asoc/topic/dpcm', 'asoc/topic/dwc' and 'asoc/topic/fsi' into asoc-next 2014-12-08 13:11:56 +00:00
soc-utils.c ASoC: : drop owner assignment from platform_drivers 2014-10-20 16:22:02 +02:00