]> git.sur5r.net Git - u-boot/commitdiff
usb: kbd: Fix unaligned buffer usage in usb_kbd_setled()
authorHans de Goede <hdegoede@redhat.com>
Sat, 20 Sep 2014 14:51:26 +0000 (16:51 +0200)
committerMarek Vasut <marex@denx.de>
Mon, 6 Oct 2014 12:50:42 +0000 (14:50 +0200)
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
common/usb_kbd.c

index c34fd5c786a2e93e3b49c3694a8a3702351fa98e..87f4125a9f2f19ef92ca88b92ea8160c3961cabe 100644 (file)
@@ -170,11 +170,12 @@ static void usb_kbd_setled(struct usb_device *dev)
 {
        struct usb_interface *iface = &dev->config.if_desc[0];
        struct usb_kbd_pdata *data = dev->privptr;
-       uint32_t leds = data->flags & USB_KBD_LEDMASK;
+       ALLOC_ALIGN_BUFFER(uint32_t, leds, 1, USB_DMA_MINALIGN);
 
+       *leds = data->flags & USB_KBD_LEDMASK;
        usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
                USB_REQ_SET_REPORT, USB_TYPE_CLASS | USB_RECIP_INTERFACE,
-               0x200, iface->desc.bInterfaceNumber, (void *)&leds, 1, 0);
+               0x200, iface->desc.bInterfaceNumber, leds, 1, 0);
 }
 
 #define CAPITAL_MASK   0x20