Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

ASoC: mediatek: mt8188: remove etdm dead code

Some Smatch static checker warning like below was found.

sound/soc/mediatek/mt8188/mt8188-dai-etdm.c:2487
mt8188_dai_etdm_parse_of()
warn: 'ret' returned from snprintf() might be larger than 48

2479 for (i = 0; i < MT8188_AFE_IO_ETDM_NUM; i++) {
2480 dai_id = ETDM_TO_DAI_ID(i);
2481 etdm_data = afe_priv->dai_priv[dai_id];
2482
2483 ret = snprintf(prop, sizeof(prop),
2484 "mediatek,%s-multi-pin-mode",
2485 of_afe_etdms[i].name);
2486 if (ret < 0) {
--> 2487 dev_err(afe->dev, "%s snprintf
err=%d\n",
2488

In linux kernel, snprintf() never returns negatives. On the other hand,
the format string like "mediatek,%s-multi-pin-mode" must be smaller
than sizeof(prop)=48.

After discussing in the mail thread[1], I remove the dead code to fix
the Smatch warnings.

[1]: https://lore.kernel.org/all/Y9EdBg641tJDDrt%2F@kili/

Signed-off-by: Trevor Wu <trevor.wu@mediatek.com>
Link: https://lore.kernel.org/r/20230202103704.15626-1-trevor.wu@mediatek.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Trevor Wu and committed by
Mark Brown
66b9e94c 218674a4

+9 -24
+9 -24
sound/soc/mediatek/mt8188/mt8188-dai-etdm.c
··· 2480 2480 dai_id = ETDM_TO_DAI_ID(i); 2481 2481 etdm_data = afe_priv->dai_priv[dai_id]; 2482 2482 2483 - ret = snprintf(prop, sizeof(prop), 2484 - "mediatek,%s-multi-pin-mode", 2485 - of_afe_etdms[i].name); 2486 - if (ret < 0) { 2487 - dev_err(afe->dev, "%s snprintf err=%d\n", 2488 - __func__, ret); 2489 - return; 2490 - } 2483 + snprintf(prop, sizeof(prop), "mediatek,%s-multi-pin-mode", 2484 + of_afe_etdms[i].name); 2485 + 2491 2486 etdm_data->data_mode = of_property_read_bool(of_node, prop); 2492 2487 2493 - ret = snprintf(prop, sizeof(prop), 2494 - "mediatek,%s-cowork-source", 2495 - of_afe_etdms[i].name); 2496 - if (ret < 0) { 2497 - dev_err(afe->dev, "%s snprintf err=%d\n", 2498 - __func__, ret); 2499 - return; 2500 - } 2488 + snprintf(prop, sizeof(prop), "mediatek,%s-cowork-source", 2489 + of_afe_etdms[i].name); 2490 + 2501 2491 ret = of_property_read_u32(of_node, prop, &sel); 2502 2492 if (ret == 0) { 2503 2493 if (sel >= MT8188_AFE_IO_ETDM_NUM) { ··· 2506 2516 2507 2517 /* etdm in only */ 2508 2518 for (i = 0; i < 2; i++) { 2509 - ret = snprintf(prop, sizeof(prop), 2510 - "mediatek,%s-chn-disabled", 2511 - of_afe_etdms[i].name); 2512 - if (ret < 0) { 2513 - dev_err(afe->dev, "%s snprintf err=%d\n", 2514 - __func__, ret); 2515 - return; 2516 - } 2519 + snprintf(prop, sizeof(prop), "mediatek,%s-chn-disabled", 2520 + of_afe_etdms[i].name); 2521 + 2517 2522 ret = of_property_read_variable_u8_array(of_node, prop, 2518 2523 disable_chn, 2519 2524 1, max_chn);