]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
Drivers: hv: vmbus: move init_vp_index() call to vmbus_process_offer()
authorVitaly Kuznetsov <vkuznets@redhat.com>
Thu, 7 May 2015 00:47:45 +0000 (17:47 -0700)
committerChuck Anderson <chuck.anderson@oracle.com>
Fri, 26 Feb 2016 02:28:44 +0000 (18:28 -0800)
We need to call init_vp_index() after we added the channel to the appropriate
list (global or subchannel) to be able to use this information when assigning
the channel to the particular vcpu. To do so we need to move a couple of
functions around. The only real change is the init_vp_index() call. This is a
small refactoring without a functional change.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit f38e7dd72337d83cced910cfbf6016475ef85bf7)

Orabug: 21886720
Signed-off-by: Jason Luo <zhangqing.luo@oracle.com>
drivers/hv/channel_mgmt.c

index f6e2006e87b6410bdaf53ff32ef13dca0d9df246..688fd307e58158bc924d3fe90dafb1b68e7d4da4 100644 (file)
@@ -32,6 +32,9 @@
 
 #include "hyperv_vmbus.h"
 
+static void init_vp_index(struct vmbus_channel *channel,
+                         const uuid_le *type_guid);
+
 /**
  * vmbus_prep_negotiate_resp() - Create default response for Hyper-V Negotiate message
  * @icmsghdrp: Pointer to msg header structure
@@ -266,6 +269,8 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
                        goto err_free_chan;
        }
 
+       init_vp_index(newchannel, &newchannel->offermsg.offer.if_type);
+
        if (newchannel->target_cpu != get_cpu()) {
                put_cpu();
                smp_call_function_single(newchannel->target_cpu,
@@ -470,8 +475,6 @@ static void vmbus_onoffer(struct vmbus_channel_message_header *hdr)
                                offer->connection_id;
        }
 
-       init_vp_index(newchannel, &offer->offer.if_type);
-
        memcpy(&newchannel->offermsg, offer,
               sizeof(struct vmbus_channel_offer_channel));
        newchannel->monitor_grp = (u8)offer->monitorid / 32;