drm: encoder_slave: fix refcouting error for modules
[ Upstream commit f78d4032de60f50fd4afaa0fb68ea03b985f820a ] module_put() balances try_module_get(), not request_module(). Fix the error path to match that. Fixes: 2066facca4c7 ("drm/kms: slave encoder interface.") Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Wolfram Sang <wsa@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
edcb7efdbb
commit
e5b20d0b14
@ -84,7 +84,7 @@ int drm_i2c_encoder_init(struct drm_device *dev,
|
|||||||
|
|
||||||
err = encoder_drv->encoder_init(client, dev, encoder);
|
err = encoder_drv->encoder_init(client, dev, encoder);
|
||||||
if (err)
|
if (err)
|
||||||
goto fail_unregister;
|
goto fail_module_put;
|
||||||
|
|
||||||
if (info->platform_data)
|
if (info->platform_data)
|
||||||
encoder->slave_funcs->set_config(&encoder->base,
|
encoder->slave_funcs->set_config(&encoder->base,
|
||||||
@ -92,9 +92,10 @@ int drm_i2c_encoder_init(struct drm_device *dev,
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
fail_module_put:
|
||||||
|
module_put(module);
|
||||||
fail_unregister:
|
fail_unregister:
|
||||||
i2c_unregister_device(client);
|
i2c_unregister_device(client);
|
||||||
module_put(module);
|
|
||||||
fail:
|
fail:
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user