Messages in this thread | | | Subject | Re: [PATCH] Handle init_iova_flush_queue failure in dma-iommu path | From | Robin Murphy <> | Date | Fri, 18 Sep 2020 14:51:32 +0100 |
| |
On 2020-09-18 09:55, Joerg Roedel wrote: > On Thu, Sep 10, 2020 at 01:25:38PM +0100, Tom Murphy wrote: >> init_iova_flush_queue can fail if we run out of memory. Fall back to noflush >> queue if it fails. >> >> Signed-off-by: Tom Murphy <murphyt7@tcd.ie> >> --- >> drivers/iommu/dma-iommu.c | 7 +++++-- >> 1 file changed, 5 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c >> index 4959f5df21bd..5f69126f3e91 100644 >> --- a/drivers/iommu/dma-iommu.c >> +++ b/drivers/iommu/dma-iommu.c >> @@ -343,8 +343,11 @@ static int iommu_dma_init_domain(struct iommu_domain *domain, dma_addr_t base, >> >> if (!cookie->fq_domain && !iommu_domain_get_attr(domain, >> DOMAIN_ATTR_DMA_USE_FLUSH_QUEUE, &attr) && attr) { >> - cookie->fq_domain = domain; >> - init_iova_flush_queue(iovad, iommu_dma_flush_iotlb_all, NULL); >> + if (init_iova_flush_queue(iovad, iommu_dma_flush_iotlb_all, >> + NULL)) >> + pr_warn("iova flush queue initialization failed\n"); >> + else >> + cookie->fq_domain = domain; >> } >> >> if (!dev) > > Looks good to me, but Robin should also have a look.
Yup, seems reasonable, thanks Tom!
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
| |