Commit ccae2a30 authored by Alan Stern's avatar Alan Stern Committed by Greg Kroah-Hartman

[PATCH] USB: Use 8-byte hub status URB buffer

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: default avatarAlan Stern <stern@rowland.harvard.edu>
Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
parent cfd94bc9
......@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment