From b6d808525aef6703f2bf7662c7ef99f5e7349bb4 Mon Sep 17 00:00:00 2001 From: Johan Hovold Date: Wed, 4 Nov 2015 18:55:13 +0100 Subject: [PATCH] greybus: es2: fix endpoint requirement check The current es2 implementation only checks for no IN or OUT bulk endpoints, but still assumes there are precisely NUM_BULKS of each. Specifically, urbs could be allocated and initialised to default values, which amounts to bulk urbs being submitted to the control endpoint. We should be able to handle any number of endpoints, but for now let's just require NUM_BULKS of each. Signed-off-by: Johan Hovold Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/es2.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/staging/greybus/es2.c b/drivers/staging/greybus/es2.c index ebf41f7..4bb500f 100644 --- a/drivers/staging/greybus/es2.c +++ b/drivers/staging/greybus/es2.c @@ -848,8 +848,7 @@ static int ap_probe(struct usb_interface *interface, endpoint->bEndpointAddress); } } - if ((bulk_in == 0) || - (bulk_out == 0)) { + if (bulk_in != NUM_BULKS || bulk_out != NUM_BULKS) { dev_err(&udev->dev, "Not enough endpoints found in device, aborting!\n"); goto error; } -- 2.7.4