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>
diff --git a/drivers/staging/greybus/es1-ap-usb.c b/drivers/staging/greybus/es1-ap-usb.c
index 1a67d9e..e55ad03 100644
--- a/drivers/staging/greybus/es1-ap-usb.c
+++ b/drivers/staging/greybus/es1-ap-usb.c
@@ -305,10 +305,9 @@
 	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 @@
 	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.