[U-Boot] [PATCH fix for v2014.10 5/5] usb: kbd: Fix unaligned buffer usage in usb_kbd_setled()

Hans de Goede hdegoede at redhat.com
Sat Sep 20 16:51:26 CEST 2014


Signed-off-by: Hans de Goede <hdegoede at redhat.com>
---
 common/usb_kbd.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/common/usb_kbd.c b/common/usb_kbd.c
index c34fd5c..87f4125 100644
--- a/common/usb_kbd.c
+++ b/common/usb_kbd.c
@@ -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
-- 
2.1.0



More information about the U-Boot mailing list