diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c index 70ea5d1fc16c..3f8ce7be4c18 100644 --- a/drivers/hv/connection.c +++ b/drivers/hv/connection.c @@ -402,5 +402,5 @@ int vmbus_set_event(u32 child_relid) (unsigned long *)vmbus_connection.send_int_page + (child_relid >> 5)); - return hv_signal_event(); + return hv_signal_event(hv_context.signal_event_param); } diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c index 3648f8f0f368..dd0af8940657 100644 --- a/drivers/hv/hv.c +++ b/drivers/hv/hv.c @@ -273,13 +273,12 @@ int hv_post_message(union hv_connection_id connection_id, * * This involves a hypercall. */ -u16 hv_signal_event(void) +u16 hv_signal_event(void *con_id) { u16 status; - status = do_hypercall(HVCALL_SIGNAL_EVENT, - hv_context.signal_event_param, - NULL) & 0xFFFF; + status = (do_hypercall(HVCALL_SIGNAL_EVENT, con_id, NULL) & 0xFFFF); + return status; } diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h index ac1e419d4b16..61d2c4f6fc17 100644 --- a/drivers/hv/hyperv_vmbus.h +++ b/drivers/hv/hyperv_vmbus.h @@ -538,7 +538,7 @@ extern int hv_post_message(union hv_connection_id connection_id, enum hv_message_type message_type, void *payload, size_t payload_size); -extern u16 hv_signal_event(void); +extern u16 hv_signal_event(void *con_id); extern void hv_synic_init(void *irqarg);