From: Viresh Kumar Date: Thu, 21 Apr 2016 06:01:14 +0000 (+0530) Subject: greybus: es2: disable cport-in after remove greybus host device X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=ecdd3a2d59321ebd46c595dbadf24f50364a052a;p=linux-beck.git greybus: es2: disable cport-in after remove greybus host device This allows greybus to do operations before being removed. Tested by removing the gb-es2.ko module on both EVT1.5 and qemu with gbsim. The driver removes the greybus host device successfully before disabling the urbs. The errors are still coming ("urb cport in error -2 (dropped)"), but with an error value -2 (ENOENT) instead of -108. And that happens while the urbs are disabled, not while doing greybus operations. Signed-off-by: Viresh Kumar Acked-by: David Lin Reviewed-by: Johan Hovold Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/greybus/es2.c b/drivers/staging/greybus/es2.c index 0cc9fe660d12..8138bc22efbc 100644 --- a/drivers/staging/greybus/es2.c +++ b/drivers/staging/greybus/es2.c @@ -695,11 +695,11 @@ static void ap_disconnect(struct usb_interface *interface) struct es2_ap_dev *es2 = usb_get_intfdata(interface); int i; + gb_hd_del(es2->hd); + for (i = 0; i < NUM_BULKS; ++i) es2_cport_in_disable(es2, &es2->cport_in[i]); - gb_hd_del(es2->hd); - es2_destroy(es2); }