vmbus_onmessage() doesn't need the header of the message, it only
uses it to get to the payload, we can pass the pointer to the
payload directly.
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Link: https://lore.kernel.org/r/20200406104154.45010-4-vkuznets@redhat.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
  *
  * This is invoked in the vmbus worker thread context.
  */
-void vmbus_onmessage(void *context)
+void vmbus_onmessage(struct vmbus_channel_message_header *hdr)
 {
-       struct hv_message *msg = context;
-       struct vmbus_channel_message_header *hdr;
-
-       hdr = (struct vmbus_channel_message_header *)msg->u.payload;
-
        trace_vmbus_on_message(hdr);
 
        /*
 
 
        ctx = container_of(work, struct onmessage_work_context,
                           work);
-       vmbus_onmessage(&ctx->msg);
+       vmbus_onmessage((struct vmbus_channel_message_header *)
+                       &ctx->msg.payload);
        kfree(ctx);
 }
 
 
        c->low_latency = false;
 }
 
-void vmbus_onmessage(void *context);
+void vmbus_onmessage(struct vmbus_channel_message_header *hdr);
 
 int vmbus_request_offers(void);