]> git.hungrycats.org Git - linux/commitdiff
[PATCH] USB: Use 8-byte hub status URB buffer
authorAlan Stern <stern@rowland.harvard.edu>
Wed, 25 Aug 2004 03:47:42 +0000 (20:47 -0700)
committerGreg Kroah-Hartman <greg@kroah.com>
Wed, 25 Aug 2004 03:47:42 +0000 (20:47 -0700)
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.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
drivers/usb/core/hub.h

index bb0499f6f418e3b295d9495fb0d4d8ae07281dda..75a4f62746aa5101fccba088615f01a11ec68268 100644 (file)
@@ -190,8 +190,8 @@ struct usb_hub {
        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;