vmbus_isr() uses synic pages which are being setup in hv_synic_alloc(), we need to register this irq handler only after we allocate all the required pages. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> --- drivers/hv/vmbus_drv.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c index cf20400..e922804 100644 --- a/drivers/hv/vmbus_drv.c +++ b/drivers/hv/vmbus_drv.c @@ -822,11 +822,12 @@ static int vmbus_bus_init(int irq) if (ret) goto err_cleanup; - hv_setup_vmbus_irq(vmbus_isr); - ret = hv_synic_alloc(); if (ret) goto err_alloc; + + hv_setup_vmbus_irq(vmbus_isr); + /* * Initialize the per-cpu interrupt state and * connect to the host. -- 1.9.3 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel