USB: Fix alignment of buffer passed down to ->hub_control()
authorMikael Pettersson <[email protected]>
Sun, 24 Sep 2006 00:05:31 +0000 (17:05 -0700)
committerGreg Kroah-Hartman <[email protected]>
Thu, 28 Sep 2006 22:36:43 +0000 (15:36 -0700)
Implementations assume the buffer is at least 4 byte aligned.

Signed-off-by: David S. Miller <[email protected]>
Cc: David Brownell <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
drivers/usb/core/hcd.c

index e86f6295708555ea7cd76df5030831f58946f7f3..0d5cbf254e5e4880ad39b83f4a3d4f28215c9812 100644 (file)
@@ -345,7 +345,8 @@ static int rh_call_control (struct usb_hcd *hcd, struct urb *urb)
        struct usb_ctrlrequest *cmd;
        u16             typeReq, wValue, wIndex, wLength;
        u8              *ubuf = urb->transfer_buffer;
-       u8              tbuf [sizeof (struct usb_hub_descriptor)];
+       u8              tbuf [sizeof (struct usb_hub_descriptor)]
+               __attribute__((aligned(4)));
        const u8        *bufp = tbuf;
        int             len = 0;
        int             patch_wakeup = 0;