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>
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;