From: Johan Hovold Date: Wed, 13 Apr 2016 17:19:09 +0000 (+0200) Subject: greybus: svc: remove interface-remove helper X-Git-Tag: v4.9-rc1~119^2~378^2~21^2~516 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=41d514020f4844905f349cd51476d03db254317a;p=linux.git greybus: svc: remove interface-remove helper Remove unnecessary interface-remove helper. Also add comment about why the disconnected flag is set. Signed-off-by: Johan Hovold Reviewed-by: Viresh Kumar Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/greybus/svc.c b/drivers/staging/greybus/svc.c index a9ef16ecd0d9..516a452ab213 100644 --- a/drivers/staging/greybus/svc.c +++ b/drivers/staging/greybus/svc.c @@ -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)