netvsc: fix and cleanup rndis_filter_set_packet_filter
authorstephen hemminger <stephen@networkplumber.org>
Wed, 22 Mar 2017 21:51:05 +0000 (14:51 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 23 Mar 2017 02:38:57 +0000 (19:38 -0700)
Fix warning from unused set_complete variable. And rearrange code
to eliminate unnecessary goto's.

Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/hyperv/rndis_filter.c

index cd7b837..91b3bcf 100644 (file)
@@ -819,16 +819,14 @@ int rndis_filter_set_packet_filter(struct rndis_device *dev, u32 new_filter)
 {
        struct rndis_request *request;
        struct rndis_set_request *set;
-       struct rndis_set_complete *set_complete;
        int ret;
 
        request = get_rndis_request(dev, RNDIS_MSG_SET,
                        RNDIS_MESSAGE_SIZE(struct rndis_set_request) +
                        sizeof(u32));
-       if (!request) {
-               ret = -ENOMEM;
-               goto cleanup;
-       }
+       if (!request)
+               return -ENOMEM;
+
 
        /* Setup the rndis set */
        set = &request->request_msg.msg.set_req;
@@ -840,15 +838,11 @@ int rndis_filter_set_packet_filter(struct rndis_device *dev, u32 new_filter)
               &new_filter, sizeof(u32));
 
        ret = rndis_filter_send_request(dev, request);
-       if (ret != 0)
-               goto cleanup;
+       if (ret == 0)
+               wait_for_completion(&request->wait_event);
 
-       wait_for_completion(&request->wait_event);
+       put_rndis_request(dev, request);
 
-       set_complete = &request->response_msg.msg.set_complete;
-cleanup:
-       if (request)
-               put_rndis_request(dev, request);
        return ret;
 }