On Fri, Oct 16, 2009 at 5:08 PM, Mark Brown broonie@opensource.wolfsonmicro.com wrote:
On Fri, Oct 16, 2009 at 10:09:20AM +0800, Barry Song wrote:
AC97 codec DAIs don't register themselves eg.stac9766, wm9712, wm9713, wm9705.c, ad1980, then it loses to the chance to be given a null_dai_ops in snd_soc_register_dai if they have no ops. When functions like soc_pcm_open, soc_pcm_hw_params etc. access the ops field in these DAIs, panic will happen.
This is the wrong fix - null DAI ops are supposed to be supported for all devices since not all DAIs will be configurable.
But the problem is ac97 DAIs will have no path to get the null ops. Then many functions will panic. It's very easy to repeat the problem in your site, only by deleting ops field in any AC97 codec DAI.