From: Alex Elder Date: Thu, 16 Oct 2014 11:35:27 +0000 (-0500) Subject: greybus: don't restrict input buffer size X-Git-Tag: v4.9-rc1~119^2~378^2~21^2~2016 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=170229d19586955e30604b2de37557e09a70b66c;p=karo-tx-linux.git greybus: don't restrict input buffer size Don't assume that input buffers have any particular content. The only thing the gbuf layer needs to be concerned with is the presence of the cport_id byte at the beginning of a transfer. Signed-off-by: Alex Elder Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/greybus/es1-ap-usb.c b/drivers/staging/greybus/es1-ap-usb.c index 1a67d9e15c2a..e55ad03b56d6 100644 --- a/drivers/staging/greybus/es1-ap-usb.c +++ b/drivers/staging/greybus/es1-ap-usb.c @@ -305,10 +305,9 @@ static void cport_in_callback(struct urb *urb) if (status) return; - /* The size has to be more then just an "empty" transfer */ - if (urb->actual_length <= 2) { - dev_err(dev, "%s: \"short\" cport in transfer of %d bytes?\n", - __func__, urb->actual_length); + /* The size has to be at least one, for the cport id */ + if (!urb->actual_length) { + dev_err(dev, "%s: no cport id in input buffer?\n", __func__); goto exit; } @@ -338,10 +337,6 @@ static void cport_out_callback(struct urb *urb) unsigned long flags; int i; - /* If no error, tell the core the gbuf is properly sent */ - if (!check_urb_status(urb)) - greybus_gbuf_finished(gbuf); - /* * See if this was an urb in our pool, if so mark it "free", otherwise * we need to free it ourselves.