If get_oldi_mode() errors early in the function, we don't put the 'companion' device_node. Add the of_node_put() calls.
Signed-off-by: Tomi Valkeinen <[email protected]> Fixes: 7246e0929945 ("drm/tidss: Add OLDI bridge support") --- drivers/gpu/drm/tidss/tidss_oldi.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/tidss/tidss_oldi.c b/drivers/gpu/drm/tidss/tidss_oldi.c index 624f1646fb07..82b059f85244 100644 --- a/drivers/gpu/drm/tidss/tidss_oldi.c +++ b/drivers/gpu/drm/tidss/tidss_oldi.c @@ -383,12 +383,16 @@ static int get_oldi_mode(struct device_node *oldi_tx, int *companion_instance) */ return OLDI_MODE_SINGLE_LINK; - if (of_property_read_u32(companion, "reg", &companion_reg)) + if (of_property_read_u32(companion, "reg", &companion_reg)) { + of_node_put(companion); return OLDI_MODE_UNSUPPORTED; + } - if (companion_reg > (TIDSS_MAX_OLDI_TXES - 1)) + if (companion_reg > (TIDSS_MAX_OLDI_TXES - 1)) { /* Invalid companion OLDI reg value. */ + of_node_put(companion); return OLDI_MODE_UNSUPPORTED; + } *companion_instance = (int)companion_reg; -- 2.43.0
