diff options
author | Rasmus Villemoes <linux@rasmusvillemoes.dk> | 2016-02-15 19:41:47 +0100 |
---|---|---|
committer | Sasha Levin <sasha.levin@oracle.com> | 2016-03-04 10:18:43 -0500 |
commit | 327a38a4a2d3de61e04c77388d630cfa46ef13bf (patch) | |
tree | daf22aefe68831c846b0142818de1a427efbd42a | |
parent | c7af027a5f0db5a8c77f6cf83d99a1c376c0e615 (diff) | |
download | lwn-327a38a4a2d3de61e04c77388d630cfa46ef13bf.tar.gz lwn-327a38a4a2d3de61e04c77388d630cfa46ef13bf.zip |
drm/radeon: use post-decrement in error handling
[ Upstream commit bc3f5d8c4ca01555820617eb3b6c0857e4df710d ]
We need to use post-decrement to get the pci_map_page undone also for
i==0, and to avoid some very unpleasant behaviour if pci_map_page
failed already at i==0.
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_ttm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c index 13f69472e716..33928b71445b 100644 --- a/drivers/gpu/drm/radeon/radeon_ttm.c +++ b/drivers/gpu/drm/radeon/radeon_ttm.c @@ -735,7 +735,7 @@ static int radeon_ttm_tt_populate(struct ttm_tt *ttm) 0, PAGE_SIZE, PCI_DMA_BIDIRECTIONAL); if (pci_dma_mapping_error(rdev->pdev, gtt->ttm.dma_address[i])) { - while (--i) { + while (i--) { pci_unmap_page(rdev->pdev, gtt->ttm.dma_address[i], PAGE_SIZE, PCI_DMA_BIDIRECTIONAL); gtt->ttm.dma_address[i] = 0; |