ASoC: mediatek: implement mediatek common structure
Hello Garlic Tseng,
The patch 283b612429a2: "ASoC: mediatek: implement mediatek common structure" from Jun 17, 2016, leads to the following Smatch static checker warning:
sound/soc/mediatek/common/mtk-afe-fe-dai.c:364 mtk_afe_resume() error: we previously assumed 'afe->reg_back_up' could be null (see line 359)
sound/soc/mediatek/common/mtk-afe-fe-dai.c
354 if (pm_runtime_status_suspended(dev) || !afe->suspended)
355 return 0;
356
357 afe->runtime_resume(dev);
358
359 if (!afe->reg_back_up)
360 dev_dbg(dev, "%s no reg_backup\n", __func__);Should this return? Also when ->reg_back_up is allocated there is no check for NULL so it seems like a very possible condition.
361
362 for (i = 0; i < afe->reg_back_up_list_num; i++)
363 mtk_regmap_write(regmap, afe->reg_back_up_list[i],
--> 364 afe->reg_back_up[i]);
365
366 afe->suspended = false;
367 return 0;
368 }regards,
dan carpenter
_______________________________________________
Linux-mediatek mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-mediatek
Hi Dan,
Garlic has left mediatek, so I will help this problem. Thank you for pointing out the problem.
It seems that some handling for NULL case should be added to suspend/resume funtion.
I will send a patch for the problem.
Thanks,
Trevor
Quoted 33 lines · Dan Carpenter
Hello Garlic Tseng,
The patch
283b612429a2: "ASoC: mediatek: implement mediatek common structure" from Jun 17, 2016, leads to the following Smatch static checker warning:sound/soc/mediatek/common/mtk-afe-fe-dai.c:364 mtk_afe_resume() error: we previously assumed 'afe->reg_back_up' could be null(see line 359)
sound/soc/mediatek/common/mtk-afe-fe-dai.c354 if (pm_runtime_status_suspended(dev) || !afe-Quoted 1 line
suspended)
355 return 0; 356 357 afe->runtime_resume(dev); 358 359 if (!afe->reg_back_up) 360 dev_dbg(dev, "%s no reg_backup\n", __func__);Should this return? Also when ->reg_back_up is allocated there is no check for NULL so it seems like a very possible condition.
361 362 for (i = 0; i < afe->reg_back_up_list_num; i++) 363 mtk_regmap_write(regmap, afe-Quoted 1 line
reg_back_up_list[i],
--> 364 afe->reg_back_up[i]); 365 366 afe->suspended = false; 367 return 0; 368 }
Quoted 7 lines
regards,
dan carpenter_______________________________________________
Linux-mediatek mailing list
[email protected]
Quoted 1 line
_______________________________________________
Linux-mediatek mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-mediatek