staging: hv: move netvsc_destroy_send_buf() to clean up forward declaration
authorHaiyang Zhang <haiyangz@microsoft.com>
Thu, 21 Apr 2011 19:30:44 +0000 (12:30 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 25 Apr 2011 23:13:27 +0000 (16:13 -0700)
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/hv/netvsc.c

index 8b2defd86969c0b7639fd7b86852ae5835ac5817..75640eab94fda55289e54d8134eff195770f722e 100644 (file)
@@ -51,8 +51,6 @@ static int netvsc_init_send_buf(struct hv_device *device);
 
 static int netvsc_init_recv_buf(struct hv_device *device);
 
-static int netvsc_destroy_send_buf(struct netvsc_device *net_device);
-
 static int netvsc_connect_vsp(struct hv_device *device);
 
 static void netvsc_send_completion(struct hv_device *device,
@@ -343,6 +341,70 @@ exit:
        return ret;
 }
 
+static int netvsc_destroy_send_buf(struct netvsc_device *net_device)
+{
+       struct nvsp_message *revoke_packet;
+       int ret = 0;
+
+       /*
+        * If we got a section count, it means we received a
+        *  SendReceiveBufferComplete msg (ie sent
+        *  NvspMessage1TypeSendReceiveBuffer msg) therefore, we need
+        *  to send a revoke msg here
+        */
+       if (net_device->send_section_size) {
+               /* Send the revoke send buffer */
+               revoke_packet = &net_device->revoke_packet;
+               memset(revoke_packet, 0, sizeof(struct nvsp_message));
+
+               revoke_packet->hdr.msg_type =
+                       NVSP_MSG1_TYPE_REVOKE_SEND_BUF;
+               revoke_packet->msg.v1_msg.
+                       revoke_send_buf.id = NETVSC_SEND_BUFFER_ID;
+
+               ret = vmbus_sendpacket(net_device->dev->channel,
+                                      revoke_packet,
+                                      sizeof(struct nvsp_message),
+                                      (unsigned long)revoke_packet,
+                                      VM_PKT_DATA_INBAND, 0);
+               /*
+                * If we failed here, we might as well return and have a leak
+                * rather than continue and a bugchk
+                */
+               if (ret != 0) {
+                       dev_err(&net_device->dev->device, "unable to send "
+                               "revoke send buffer to netvsp");
+                       return -1;
+               }
+       }
+
+       /* Teardown the gpadl on the vsp end */
+       if (net_device->send_buf_gpadl_handle) {
+               ret = vmbus_teardown_gpadl(net_device->dev->channel,
+                                          net_device->send_buf_gpadl_handle);
+
+               /*
+                * If we failed here, we might as well return and have a leak
+                * rather than continue and a bugchk
+                */
+               if (ret != 0) {
+                       dev_err(&net_device->dev->device,
+                               "unable to teardown send buffer's gpadl");
+                       return -1;
+               }
+               net_device->send_buf_gpadl_handle = 0;
+       }
+
+       if (net_device->send_buf) {
+               /* Free up the receive buffer */
+               free_pages((unsigned long)net_device->send_buf,
+                               get_order(net_device->send_buf_size));
+               net_device->send_buf = NULL;
+       }
+
+       return ret;
+}
+
 static int netvsc_init_send_buf(struct hv_device *device)
 {
        int ret = 0;
@@ -436,70 +498,6 @@ exit:
        return ret;
 }
 
-static int netvsc_destroy_send_buf(struct netvsc_device *net_device)
-{
-       struct nvsp_message *revoke_packet;
-       int ret = 0;
-
-       /*
-        * If we got a section count, it means we received a
-        *  SendReceiveBufferComplete msg (ie sent
-        *  NvspMessage1TypeSendReceiveBuffer msg) therefore, we need
-        *  to send a revoke msg here
-        */
-       if (net_device->send_section_size) {
-               /* Send the revoke send buffer */
-               revoke_packet = &net_device->revoke_packet;
-               memset(revoke_packet, 0, sizeof(struct nvsp_message));
-
-               revoke_packet->hdr.msg_type =
-                       NVSP_MSG1_TYPE_REVOKE_SEND_BUF;
-               revoke_packet->msg.v1_msg.
-                       revoke_send_buf.id = NETVSC_SEND_BUFFER_ID;
-
-               ret = vmbus_sendpacket(net_device->dev->channel,
-                                      revoke_packet,
-                                      sizeof(struct nvsp_message),
-                                      (unsigned long)revoke_packet,
-                                      VM_PKT_DATA_INBAND, 0);
-               /*
-                * If we failed here, we might as well return and have a leak
-                * rather than continue and a bugchk
-                */
-               if (ret != 0) {
-                       dev_err(&net_device->dev->device, "unable to send "
-                               "revoke send buffer to netvsp");
-                       return -1;
-               }
-       }
-
-       /* Teardown the gpadl on the vsp end */
-       if (net_device->send_buf_gpadl_handle) {
-               ret = vmbus_teardown_gpadl(net_device->dev->channel,
-                                          net_device->send_buf_gpadl_handle);
-
-               /*
-                * If we failed here, we might as well return and have a leak
-                * rather than continue and a bugchk
-                */
-               if (ret != 0) {
-                       dev_err(&net_device->dev->device,
-                               "unable to teardown send buffer's gpadl");
-                       return -1;
-               }
-               net_device->send_buf_gpadl_handle = 0;
-       }
-
-       if (net_device->send_buf) {
-               /* Free up the receive buffer */
-               free_pages((unsigned long)net_device->send_buf,
-                               get_order(net_device->send_buf_size));
-               net_device->send_buf = NULL;
-       }
-
-       return ret;
-}
-
 
 static int netvsc_connect_vsp(struct hv_device *device)
 {