The clk_init_data structure contains several mutually-exclusive members
for different methods to specify the possible parents of a clock,
prompting drivers to initialize only the members they need.  However,
not initializing all members may cause subtle issues, which are only
exposed when CONFIG_INIT_STACK_ALL_PATTERN or CONFIG_INIT_STACK_NONE is
enabled.

Make sure all members are fully initialized, to avoid such bugs, and to
prevent future breakage when converting drivers to a different method
for specifying the parents.

Signed-off-by: Geert Uytterhoeven <[email protected]>
---
Compile-tested only.
---
 drivers/gpu/drm/tegra/sor.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/tegra/sor.c b/drivers/gpu/drm/tegra/sor.c
index e384cbd0cbf72fb9..46449c69807d369e 100644
--- a/drivers/gpu/drm/tegra/sor.c
+++ b/drivers/gpu/drm/tegra/sor.c
@@ -600,8 +600,8 @@ static const struct clk_ops tegra_clk_sor_pad_ops = {
 static struct clk *tegra_clk_sor_pad_register(struct tegra_sor *sor,
                                              const char *name)
 {
+       struct clk_init_data init = {};
        struct tegra_clk_sor_pad *pad;
-       struct clk_init_data init;
        struct clk *clk;
 
        pad = devm_kzalloc(sor->dev, sizeof(*pad), GFP_KERNEL);
-- 
2.43.0

Reply via email to