ChangeSet 1.1101.3.11, 2003/04/14 10:34:24-07:00, baldrick@wanadoo.fr

[PATCH] USB: uhci bandaid

I hit this twice now, once from the speedtch driver, once
from usbfs: maxsze = 0, resulting in a hang (i.e. urb being
submitted on a non-existent endpoint).  I thought of adding
it in at a higher level, but in fact there are so many other
checks missing (compared to 2.5) that I felt all my energy
drain away...  By the way, usb-uhci checks for this already.


 drivers/usb/host/uhci.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


diff -Nru a/drivers/usb/host/uhci.c b/drivers/usb/host/uhci.c
--- a/drivers/usb/host/uhci.c	Fri Apr 18 15:00:34 2003
+++ b/drivers/usb/host/uhci.c	Fri Apr 18 15:00:34 2003
@@ -1221,7 +1221,7 @@
 	struct urb_priv *urbp = (struct urb_priv *)urb->hcpriv;
 	dma_addr_t data = urbp->transfer_buffer_dma_handle;
 
-	if (len < 0)
+	if (len < 0 || maxsze <= 0)
 		return -EINVAL;
 
 	/* Can't have low speed bulk transfers */
