From: Johan Hovold Date: Wed, 4 Nov 2015 17:55:13 +0000 (+0100) Subject: greybus: es2: fix endpoint requirement check X-Git-Tag: v4.9-rc1~119^2~378^2~21^2~1062 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=b6d808525aef6703f2bf7662c7ef99f5e7349bb4;p=karo-tx-linux.git 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 --- diff --git a/drivers/staging/greybus/es2.c b/drivers/staging/greybus/es2.c index ebf41f740ccc..4bb500f65873 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; }