On Fri, Apr 22, 2022 at 07:51:03PM +0300, Oleksandr Tyshchenko wrote:
>  static inline void xen_setup_dma_ops(struct device *dev)
>  {
>  #ifdef CONFIG_XEN
> -     if (xen_swiotlb_detect())
> +     if (arch_has_restricted_virtio_memory_access() &&
> +                     xen_is_grant_dma_device(dev))
> +             xen_grant_setup_dma_ops(dev);
> +     else if (xen_swiotlb_detect())

I don't think that arch_has_restricted_virtio_memory_access
check should be there as it still is a bit of a layering violation.


Reply via email to