From 41d514020f4844905f349cd51476d03db254317a Mon Sep 17 00:00:00 2001 From: Johan Hovold Date: Wed, 13 Apr 2016 19:19:09 +0200 Subject: [PATCH] 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 --- drivers/staging/greybus/svc.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) 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) -- 2.20.1