Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a3d6345d authored by Tomi Valkeinen's avatar Tomi Valkeinen
Browse files

drm/omap: use dma_mapping_error in omap_gem_dma_sync



omap_gem_dma_sync() calls dma_map_page() but does not check the possible
error with dma_mapping_error(). If DMA-API debugging is enabled, the
debug layer will give a warning if dma_mapping_error() has not been
used.

This patch adds proper error handling to omap_gem_dma_sync().

Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
parent 579ef254
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -776,9 +776,20 @@ void omap_gem_dma_sync(struct drm_gem_object *obj,

		for (i = 0; i < npages; i++) {
			if (!omap_obj->addrs[i]) {
				omap_obj->addrs[i] = dma_map_page(dev->dev, pages[i], 0,
				dma_addr_t addr;

				addr = dma_map_page(dev->dev, pages[i], 0,
						PAGE_SIZE, DMA_BIDIRECTIONAL);

				if (dma_mapping_error(dev->dev, addr)) {
					dev_warn(dev->dev,
						"%s: failed to map page\n",
						__func__);
					break;
				}

				dirty = true;
				omap_obj->addrs[i] = addr;
			}
		}