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 <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
This commit is contained in:
Alex Elder 2014-10-16 06:35:27 -05:00 коммит произвёл Greg Kroah-Hartman
Родитель a06df4b08c
Коммит 170229d195
1 изменённых файлов: 3 добавлений и 8 удалений

Просмотреть файл

@ -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.