[PATCH 2/2] ASoC: spacemit: init *dp to NULL before error paths
Bui Duc Phuc
phucduc.bui at gmail.com
Sun Aug 2 21:05:47 PDT 2026
Hi Troy,
Thank you for your feedback.
> > The current caller does check the return value before using dp, so this
> > isn't an active bug. Still, initialize *dp to NULL upfront as a defensive
> > measure, consistent with how core helpers like _snd_pcm_new() handle
> > their optional output parameters.
>
> If devm_kmemdup() fails, spacemit_i2s_init_dai() returns -ENOMEM. The
> sole caller checks the return value and returns immediately, so it never
> accesses dai on that path. On success, dp is non-NULL and *dp is assigned
> before the function returns.
>
> Therefore, I do not see a path where initializing *dp to NULL has any
> effect. Could you clarify what case this change is intended to handle?
My intention was to make the API a bit more defensive. While the current
implementation only has one failure path, spacemit_i2s_init_dai() may
grow additional error paths in the future. Initializing *dp to NULL ensures
it is left in a well-defined state on any failure.
It would also avoid leaving dai uninitialized if a future caller accidentally
skipped checking the return value before using it.
Best regards,
Phuc
More information about the linux-riscv
mailing list