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:
Родитель
a06df4b08c
Коммит
170229d195
|
@ -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.
|
||||
|
|
Загрузка…
Ссылка в новой задаче