usb:gadget:ums: Replace malloc calls with memalign to fix cache buffer alignment
authorLukasz Majewski <l.majewski@samsung.com>
Wed, 5 Feb 2014 09:10:41 +0000 (10:10 +0100)
committerMarek Vasut <marex@denx.de>
Thu, 6 Feb 2014 01:22:44 +0000 (02:22 +0100)
Calls to malloc() have been replaced by memalign. It now provides proper
buffer alignment.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Cc: Marek Vasut <marex@denx.de>
drivers/usb/gadget/f_mass_storage.c

index b1fe8bd3a805df4a1d97d50395a128a30ad21eaa..f896169743c3a9cff8274c3e2062ae615e3d1ac1 100644 (file)
@@ -2515,7 +2515,7 @@ static struct fsg_common *fsg_common_init(struct fsg_common *common,
 buffhds_first_it:
                bh->inreq_busy = 0;
                bh->outreq_busy = 0;
-               bh->buf = kmalloc(FSG_BUFLEN, GFP_KERNEL);
+               bh->buf = memalign(CONFIG_SYS_CACHELINE_SIZE, FSG_BUFLEN);
                if (unlikely(!bh->buf)) {
                        rc = -ENOMEM;
                        goto error_release;
@@ -2622,7 +2622,7 @@ usb_copy_descriptors(struct usb_descriptor_header **src)
                bytes += (*tmp)->bLength;
        bytes += (n_desc + 1) * sizeof(*tmp);
 
-       mem = kmalloc(bytes, GFP_KERNEL);
+       mem = memalign(CONFIG_SYS_CACHELINE_SIZE, bytes);
        if (!mem)
                return NULL;