Re: [PATCH 2/3] drm/nouveau: use post-decrement in error handling

From: Ben Skeggs
Date: Thu Feb 18 2016 - 22:32:06 EST


On 02/16/2016 04:41 AM, Rasmus Villemoes wrote:
> We need to use post-decrement to get the dma_map_page undone also for
> i==0, and to avoid some very unpleasant behaviour if dma_map_page
> failed already at i==0.
>
> Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Ben Skeggs <bskeggs@xxxxxxxxxx>

> ---
> drivers/gpu/drm/nouveau/nouveau_bo.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
> index 78f520d05de9..e3acc35e3805 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_bo.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
> @@ -1520,7 +1520,7 @@ nouveau_ttm_tt_populate(struct ttm_tt *ttm)
> DMA_BIDIRECTIONAL);
>
> if (dma_mapping_error(pdev, addr)) {
> - while (--i) {
> + while (i--) {
> dma_unmap_page(pdev, ttm_dma->dma_address[i],
> PAGE_SIZE, DMA_BIDIRECTIONAL);
> ttm_dma->dma_address[i] = 0;
>

Attachment: signature.asc
Description: OpenPGP digital signature