diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c index bb36b1e1dbcc..d6786b87e13b 100644 --- a/drivers/xen/grant-table.c +++ b/drivers/xen/grant-table.c @@ -1146,13 +1146,13 @@ EXPORT_SYMBOL_GPL(gnttab_init); static int __gnttab_init(void) { - /* Delay grant-table initialization in the PV on HVM case */ - if (xen_hvm_domain()) - return 0; - - if (!xen_pv_domain()) + if (!xen_domain()) return -ENODEV; + /* Delay grant-table initialization in the PV on HVM case */ + if (xen_hvm_domain() && !xen_pvh_domain()) + return 0; + return gnttab_init(); } /* Starts after core_initcall so that xen_pvh_gnttab_setup can be called