[PATCH 3/3] Drivers: hv: vmbus: setup irq after synic is initialized

Vitaly Kuznetsov vkuznets at redhat.com
Tue Apr 21 08:17:54 UTC 2015


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 at redhat.com>
---
 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



More information about the devel mailing list