Re: [PATCH v2][next] ASoC: ti: davinci-mcasp: Fix fall-through warning for Clang

From: Joe Perches
Date: Fri Jun 04 2021 - 03:53:10 EST


On Fri, 2021-06-04 at 02:27 -0500, Gustavo A. R. Silva wrote:
> In preparation to enable -Wimplicit-fallthrough for Clang, fix a warning
> by explicitly adding a fallthrough; statement.
>
> Link: https://github.com/KSPP/linux/issues/115
> Signed-off-by: Gustavo A. R. Silva <gustavoars@xxxxxxxxxx>
> ---
> Changes in v2:
>  - Use fallthrough; instead of break;
>  - Update changelog text.
>  Link: https://lore.kernel.org/linux-hardening/25941c37-6e38-88ae-3afe-4f5af44380d3@xxxxxxxxx/
[]
> diff --git a/sound/soc/ti/davinci-mcasp.c b/sound/soc/ti/davinci-mcasp.c
[]
> @@ -2317,6 +2317,7 @@ static int davinci_mcasp_probe(struct platform_device *pdev)
>   break;
>   default:
>   dev_err(&pdev->dev, "No DMA controller found (%d)\n", ret);
> + fallthrough;
>   case -EPROBE_DEFER:
>   goto err;
>   }

While this is OK, perhaps the below would be clearer and a more common style
as it doesn't intermix default: with logging output and a case label.
---
sound/soc/ti/davinci-mcasp.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/sound/soc/ti/davinci-mcasp.c b/sound/soc/ti/davinci-mcasp.c
index b94220306d1a8..1059a696ff90e 100644
--- a/sound/soc/ti/davinci-mcasp.c
+++ b/sound/soc/ti/davinci-mcasp.c
@@ -2305,6 +2305,9 @@ static int davinci_mcasp_probe(struct platform_device *pdev)
goto err;

ret = davinci_mcasp_get_dma_type(mcasp);
+ if (ret == -EPROBE_DEFER)
+ goto err;
+
switch (ret) {
case PCM_EDMA:
ret = edma_pcm_platform_register(&pdev->dev);
@@ -2317,7 +2320,6 @@ static int davinci_mcasp_probe(struct platform_device *pdev)
break;
default:
dev_err(&pdev->dev, "No DMA controller found (%d)\n", ret);
- case -EPROBE_DEFER:
goto err;
}