Message ID | 20210311043527.5376-1-airlied@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/nouveau: fix dma syncing for loops (v2) | expand |
>-----Original Message----- >From: Dave Airlie <airlied@gmail.com> >Sent: Wednesday, March 10, 2021 11:35 PM >To: dri-devel@lists.freedesktop.org >Cc: Ruhl, Michael J <michael.j.ruhl@intel.com>; skeggsb@gmail.com >Subject: [PATCH] drm/nouveau: fix dma syncing for loops (v2) > >From: Dave Airlie <airlied@redhat.com> > >The index variable should only be increased in one place. > >Noticed this while trying to track down another oops. > >v2: use while loop. Ok, that makes it more obvious for me. Thanks. Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com> M >Fixes: f295c8cfec83 ("drm/nouveau: fix dma syncing warning with debugging >on.") >Signed-off-by: Dave Airlie <airlied@redhat.com> >--- > drivers/gpu/drm/nouveau/nouveau_bo.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > >diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c >b/drivers/gpu/drm/nouveau/nouveau_bo.c >index 2375711877cf..fabb314a0b2f 100644 >--- a/drivers/gpu/drm/nouveau/nouveau_bo.c >+++ b/drivers/gpu/drm/nouveau/nouveau_bo.c >@@ -556,7 +556,8 @@ nouveau_bo_sync_for_device(struct nouveau_bo >*nvbo) > if (nvbo->force_coherent) > return; > >- for (i = 0; i < ttm_dma->num_pages; ++i) { >+ i = 0; >+ while (i < ttm_dma->num_pages) { > struct page *p = ttm_dma->pages[i]; > size_t num_pages = 1; > >@@ -587,7 +588,8 @@ nouveau_bo_sync_for_cpu(struct nouveau_bo >*nvbo) > if (nvbo->force_coherent) > return; > >- for (i = 0; i < ttm_dma->num_pages; ++i) { >+ i = 0; >+ while (i < ttm_dma->num_pages) { > struct page *p = ttm_dma->pages[i]; > size_t num_pages = 1; > >-- >2.27.0
diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c index 2375711877cf..fabb314a0b2f 100644 --- a/drivers/gpu/drm/nouveau/nouveau_bo.c +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c @@ -556,7 +556,8 @@ nouveau_bo_sync_for_device(struct nouveau_bo *nvbo) if (nvbo->force_coherent) return; - for (i = 0; i < ttm_dma->num_pages; ++i) { + i = 0; + while (i < ttm_dma->num_pages) { struct page *p = ttm_dma->pages[i]; size_t num_pages = 1; @@ -587,7 +588,8 @@ nouveau_bo_sync_for_cpu(struct nouveau_bo *nvbo) if (nvbo->force_coherent) return; - for (i = 0; i < ttm_dma->num_pages; ++i) { + i = 0; + while (i < ttm_dma->num_pages) { struct page *p = ttm_dma->pages[i]; size_t num_pages = 1;