[Intel-gfx] [PATCH] drm/i915/selftests: Fix compare functions provided for sorting
Both cmp_u32 and cmp_u64 are comparing the pointers instead of the value at those pointers. This will result in incorrect/unsorted list. Fix it by deferencing the pointers before comparison. Cc: Chris Wilson Cc: Mika Kuoppala Signed-off-by: Sudeep Holla --- drivers/gpu/drm/i915/gt/selftest_rps.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) Hi, I am not sure if I can put 2 fixes tags, but these are the ones affected. Fixes: 4ba74e53ada3 ("drm/i915/selftests: Verify frequency scaling with RPS") Fixes: 8757797ff9c9 ("drm/i915/selftests: Repeat the rps clock frequency measurement") I made similar mistake and after I fixed it, just looked if there are any similar bugs and found this. Regards, Sudeep diff --git a/drivers/gpu/drm/i915/gt/selftest_rps.c b/drivers/gpu/drm/i915/gt/selftest_rps.c index 5049c3dd08a6..c91981e75ebf 100644 --- a/drivers/gpu/drm/i915/gt/selftest_rps.c +++ b/drivers/gpu/drm/i915/gt/selftest_rps.c @@ -44,9 +44,9 @@ static int cmp_u64(const void *A, const void *B) { const u64 *a = A, *b = B; - if (a < b) + if (*a < *b) return -1; - else if (a > b) + else if (*a > *b) return 1; else return 0; @@ -56,9 +56,9 @@ static int cmp_u32(const void *A, const void *B) { const u32 *a = A, *b = B; - if (a < b) + if (*a < *b) return -1; - else if (a > b) + else if (*a > *b) return 1; else return 0; -- 2.17.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915/selftests: Fix compare functions provided for sorting
Quoting Sudeep Holla (2020-07-09 16:49:31) > Both cmp_u32 and cmp_u64 are comparing the pointers instead of the value > at those pointers. This will result in incorrect/unsorted list. Fix it > by deferencing the pointers before comparison. > > Cc: Chris Wilson > Cc: Mika Kuoppala > Signed-off-by: Sudeep Holla > --- > drivers/gpu/drm/i915/gt/selftest_rps.c | 8 > 1 file changed, 4 insertions(+), 4 deletions(-) > > Hi, > > I am not sure if I can put 2 fixes tags, but these are the ones affected. > > Fixes: 4ba74e53ada3 ("drm/i915/selftests: Verify frequency scaling with RPS") > Fixes: 8757797ff9c9 ("drm/i915/selftests: Repeat the rps clock frequency > measurement") Might as well tag the fixes, just in case anyone wants to use the tests. > I made similar mistake and after I fixed it, just looked if there are any > similar bugs and found this. > > Regards, > Sudeep > > diff --git a/drivers/gpu/drm/i915/gt/selftest_rps.c > b/drivers/gpu/drm/i915/gt/selftest_rps.c > index 5049c3dd08a6..c91981e75ebf 100644 > --- a/drivers/gpu/drm/i915/gt/selftest_rps.c > +++ b/drivers/gpu/drm/i915/gt/selftest_rps.c > @@ -44,9 +44,9 @@ static int cmp_u64(const void *A, const void *B) > { > const u64 *a = A, *b = B; > > - if (a < b) > + if (*a < *b) > return -1; > - else if (a > b) > + else if (*a > *b) > return 1; Oh my golly gosh. Thanks, thanks and thrice thanks. Reviewed-by: Chris Wilson I better double check all my qsort-compare funcs for similar brianfarts. -Chris ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx