Greg:

This patch changes the size of the buffer allocated for each hub's status 
URB from 3 bytes to 8.  The purpose is to avoid "babble" errors with 
certain buggy hubs.  Although I only know of one type of device which does 
this, the patch does solve its problem and it adds no overhead for anyone 
else since kmalloc doesn't dole out memory in chunks smaller than 8 bytes 
(32 actually, on a PC).

This is a small thing, but it doesn't hurt and it will make life easier 
for a few people.  Please apply.

Alan Stern



Signed-off-by: Alan Stern <[EMAIL PROTECTED]>

===== drivers/usb/core/hub.h 1.35 vs edited =====
--- 1.35/drivers/usb/core/hub.h Thu Jul  1 07:48:09 2004
+++ edited/drivers/usb/core/hub.h       Tue Jul 13 11:26:14 2004
@@ -190,8 +190,8 @@
        struct usb_device       *hdev;
        struct urb              *urb;           /* for interrupt polling pipe */
 
-       /* buffer for urb ... 1 bit each for hub and children, rounded up */
-       char                    (*buffer)[(USB_MAXCHILDREN + 1 + 7) / 8];
+       /* buffer for urb ... with extra space in case of babble */
+       char                    (*buffer)[8];
        dma_addr_t              buffer_dma;     /* DMA address for buffer */
        union {
                struct usb_hub_status   hub;



-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to