diff mbox series

drm/amdgpu: fix off by one in amdgpu_gfx_kiq_acquire()

Message ID 20220316084148.GD30941@kili (mailing list archive)
State New, archived
Headers show
Series drm/amdgpu: fix off by one in amdgpu_gfx_kiq_acquire() | expand

Commit Message

Dan Carpenter March 16, 2022, 8:41 a.m. UTC
This post-op should be a pre-op so that we do not pass -1 as the bit
number to test_bit().  The current code will loop downwards from 63 to
-1.  After changing to a pre-op, it loops from 63 to 0.

Fixes: 71c37505e7ea ("drm/amdgpu/gfx: move more common KIQ code to amdgpu_gfx.c")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Alex Deucher March 17, 2022, 8:37 p.m. UTC | #1
Applied.  Thanks!

Alex

On Wed, Mar 16, 2022 at 4:42 AM Dan Carpenter <dan.carpenter@oracle.com> wrote:
>
> This post-op should be a pre-op so that we do not pass -1 as the bit
> number to test_bit().  The current code will loop downwards from 63 to
> -1.  After changing to a pre-op, it loops from 63 to 0.
>
> Fixes: 71c37505e7ea ("drm/amdgpu/gfx: move more common KIQ code to amdgpu_gfx.c")
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
> index 8fe939976224..28a736c507bb 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
> @@ -266,7 +266,7 @@ static int amdgpu_gfx_kiq_acquire(struct amdgpu_device *adev,
>                     * adev->gfx.mec.num_pipe_per_mec
>                     * adev->gfx.mec.num_queue_per_pipe;
>
> -       while (queue_bit-- >= 0) {
> +       while (--queue_bit >= 0) {
>                 if (test_bit(queue_bit, adev->gfx.mec.queue_bitmap))
>                         continue;
>
> --
> 2.20.1
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
index 8fe939976224..28a736c507bb 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
@@ -266,7 +266,7 @@  static int amdgpu_gfx_kiq_acquire(struct amdgpu_device *adev,
 		    * adev->gfx.mec.num_pipe_per_mec
 		    * adev->gfx.mec.num_queue_per_pipe;
 
-	while (queue_bit-- >= 0) {
+	while (--queue_bit >= 0) {
 		if (test_bit(queue_bit, adev->gfx.mec.queue_bitmap))
 			continue;