if (!iommu_map) {
pr_debug("%s: create new map for buffer(%p)\n", __func__, buffer);
iommu_map = __ion_iommu_map(buffer, iommu_dev, iova);
- if (!IS_ERR_OR_NULL(iommu_map))
- ret = -ENOMEM;
+ if (IS_ERR(iommu_map))
+ ret = PTR_ERR(iommu_map);
} else {
pr_debug("%s: buffer(%p) already mapped\n", __func__, buffer);
if (iommu_map->mapped_size != buffer->size) {
data->iova_addr = rockchip_iovmm_map(iommu_dev, info->table->sgl, 0, iova_length);
pr_debug("%s: map %x -> %lx\n", __func__, info->table->sgl->dma_address,
data->iova_addr);
- if (IS_ERR_OR_NULL(data->iova_addr)) {
+ if (IS_ERR_VALUE(data->iova_addr)) {
pr_err("%s: rockchip_iovmm_map() failed: %lx\n", __func__, data->iova_addr);
- ret = -ENOMEM;
+ ret = data->iova_addr;
goto out;
}
data->iova_addr = rockchip_iovmm_map(iommu_dev, table->sgl, 0, iova_length);
pr_debug("%s: map %x -> %lx\n", __func__, table->sgl->dma_address, data->iova_addr);
- if (IS_ERR_OR_NULL(data->iova_addr)) {
+ if (IS_ERR_VALUE(data->iova_addr)) {
pr_err("%s: rockchip_iovmm_map() failed: %lx\n", __func__, data->iova_addr);
- ret = -ENOMEM;
+ ret = data->iova_addr;
goto out;
}