greybus: svc: remove interface-remove helper
authorJohan Hovold <johan@hovoldconsulting.com>
Wed, 13 Apr 2016 17:19:09 +0000 (19:19 +0200)
committerGreg Kroah-Hartman <gregkh@google.com>
Thu, 21 Apr 2016 01:09:03 +0000 (10:09 +0900)
Remove unnecessary interface-remove helper.

Also add comment about why the disconnected flag is set.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/svc.c

index a9ef16e..516a452 100644 (file)
@@ -435,15 +435,6 @@ static int gb_svc_hello(struct gb_operation *op)
        return 0;
 }
 
-static void gb_svc_intf_remove(struct gb_svc *svc, struct gb_interface *intf)
-{
-       intf->disconnected = true;
-
-       gb_interface_disable(intf);
-       gb_interface_deactivate(intf);
-       gb_interface_remove(intf);
-}
-
 static void gb_svc_process_intf_hotplug(struct gb_operation *operation)
 {
        struct gb_svc_intf_hotplug_request *request;
@@ -527,7 +518,12 @@ static void gb_svc_process_intf_hot_unplug(struct gb_operation *operation)
                return;
        }
 
-       gb_svc_intf_remove(svc, intf);
+       /* Mark as disconnected to prevent I/O during disable. */
+       intf->disconnected = true;
+
+       gb_interface_disable(intf);
+       gb_interface_deactivate(intf);
+       gb_interface_remove(intf);
 }
 
 static void gb_svc_process_deferred_request(struct work_struct *work)