On 19.03.2025 13:01, Mykola Kvach wrote: > Hi, > > On Wed, Mar 5, 2025 at 6:45 PM Jan Beulich <jbeul...@suse.com> wrote: >> >> On 05.03.2025 10:11, Mykola Kvach wrote: >>> --- a/xen/drivers/passthrough/iommu.c >>> +++ b/xen/drivers/passthrough/iommu.c >>> @@ -613,7 +613,7 @@ int __init iommu_setup(void) >>> >>> int iommu_suspend(void) >>> { >>> - if ( iommu_enabled ) >>> + if ( iommu_enabled && iommu_get_ops() && iommu_get_ops()->suspend ) >>> return iommu_call(iommu_get_ops(), suspend); >>> >>> return 0; >>> @@ -621,7 +621,7 @@ int iommu_suspend(void) >>> >>> void iommu_resume(void) >>> { >>> - if ( iommu_enabled ) >>> + if ( iommu_enabled && iommu_get_ops() && iommu_get_ops()->resume ) >>> iommu_vcall(iommu_get_ops(), resume); >>> } >> >> When iommu_enabled is true, surely iommu_get_ops() is required to return >> non-NULL? > > As far as I can see, in some cases, the handler is still checked even > if iommu_enabled > is true, such as in the case of the iommu_quiesce call.
You say "handler" and also refer to a case where the handler is checked. My comment was about the bare iommu_get_ops() though. > However, it > might be better to drop > this patch from the current patch series or add a patch that > introduces the handlers. Only if they're not merely stubs. Jan