ASoC: rockchip: mdais: Fix panic when dai control enabled

Unable to handle kernel NULL pointer dereference at virtual address 00000080
pgd = 5be93016
[00000080] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 3 PID: 58 Comm: kworker/3:1 Not tainted 4.19.111 #9
Hardware name: Generic DT based system
PC is at snd_soc_add_dai_controls+0x24/0x40
LR is at   (null)
pc : [<b0692590>]    lr : [<00000000>]    psr: 20000053
sp : ee117d58  ip : 00000000  fp : ddb2d540
r10: ddbd1c40  r9 : 00000000  r8 : ddb35b80
r7 : ddb35940  r6 : ddb65080  r5 : 00000002  r4 : eeb39410
r3 : 00000001  r2 : b0d464e4  r1 : eeb39410  r0 : ddb65080
Flags: nzCv  IRQs on  FIQs off  Mode SVC_32  ISA ARM  Segment user

Change-Id: I0571e1a0554f11af62fab3572fcb11f299626be6
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
(cherry picked from commit d6885ff37ffcee0233d2b417a5c3d2f2dbae34d5)
This commit is contained in:
Sugar Zhang
2021-04-09 11:30:02 +08:00
committed by Tao Huang
parent 81fff31dd3
commit 69ba52d77b

View File

@@ -163,6 +163,7 @@ static int rockchip_mdais_dai_probe(struct snd_soc_dai *dai)
for (i = 0; i < mdais->num_dais; i++) {
child = mdais->dais[i].dai;
if (!child->probed && child->driver->probe) {
child->component->card = dai->component->card;
ret = child->driver->probe(child);
if (ret < 0) {
dev_err(child->dev,