2023-10-13 14:48:36

by Artem Chernyshev

[permalink] [raw]
Subject: [PATCH] drm/bridge: analogix: anx78xx: Check return value

In anx78xx_start() err value of anx78xx_clear_bits()
overwriting without check.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Signed-off-by: Artem Chernyshev <[email protected]>
---
drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c b/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
index 800555aef97f..c966e661b9b9 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
@@ -537,6 +537,10 @@ static int anx78xx_start(struct anx78xx *anx78xx)
SP_POWERDOWN_CTRL_REG,
SP_HDCP_PD | SP_AUDIO_PD | SP_VIDEO_PD |
SP_LINK_PD);
+ if (err) {
+ DRM_ERROR("Failed to clear bits: %d\n", err);
+ goto err_poweroff;
+ }

err = anx78xx_enable_interrupts(anx78xx);
if (err) {
--
2.37.3