Am 27.01.2018 um 15:28 schrieb Julia Lawall:
Check the variable that was most recently initialized.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression x, y, f, g, e, m;
statement S1,S2,S3,S4;
@@

x = f(...);
if (\(<+...x...+>\&e\)) S1 else S2
(
x = g(...);
|
m = g(...,&x,...);
|
y = g(...);
*if (e)
  S3 else S4
)
// </smpl>

Signed-off-by: Julia Lawall <julia.law...@lip6.fr>

Good catch, added my rb and pushed it into our to-be-upstreamed branch.

Thanks,
Christian.


---
  drivers/gpu/drm/radeon/radeon_uvd.c |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/radeon/radeon_uvd.c 
b/drivers/gpu/drm/radeon/radeon_uvd.c
index d34d1cf..95f4db7 100644
--- a/drivers/gpu/drm/radeon/radeon_uvd.c
+++ b/drivers/gpu/drm/radeon/radeon_uvd.c
@@ -995,7 +995,7 @@ int radeon_uvd_calc_upll_dividers(struct radeon_device 
*rdev,
                /* calc dclk divider with current vco freq */
                dclk_div = radeon_uvd_calc_upll_post_div(vco_freq, dclk,
                                                         pd_min, pd_even);
-               if (vclk_div > pd_max)
+               if (dclk_div > pd_max)
                        break; /* vco is too big, it has to stop */
/* calc score with current vco freq */


Reply via email to