usb-dmac.c (a6cbfa1e6d38c4b3ab0ce7e3aea4bb4e744f24b8) | usb-dmac.c (acafe7e30216166a17e6e226aadc3ecb63993242) |
---|---|
1/* 2 * Renesas USB DMA Controller Driver 3 * 4 * Copyright (C) 2015 Renesas Electronics Corporation 5 * 6 * based on rcar-dmac.c 7 * Copyright (C) 2014 Renesas Electronics Inc. 8 * Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com> --- 255 unchanged lines hidden (view full) --- 264 * Descriptors allocation and free 265 */ 266static int usb_dmac_desc_alloc(struct usb_dmac_chan *chan, unsigned int sg_len, 267 gfp_t gfp) 268{ 269 struct usb_dmac_desc *desc; 270 unsigned long flags; 271 | 1/* 2 * Renesas USB DMA Controller Driver 3 * 4 * Copyright (C) 2015 Renesas Electronics Corporation 5 * 6 * based on rcar-dmac.c 7 * Copyright (C) 2014 Renesas Electronics Inc. 8 * Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com> --- 255 unchanged lines hidden (view full) --- 264 * Descriptors allocation and free 265 */ 266static int usb_dmac_desc_alloc(struct usb_dmac_chan *chan, unsigned int sg_len, 267 gfp_t gfp) 268{ 269 struct usb_dmac_desc *desc; 270 unsigned long flags; 271 |
272 desc = kzalloc(sizeof(*desc) + sg_len * sizeof(desc->sg[0]), gfp); | 272 desc = kzalloc(struct_size(desc, sg, sg_len), gfp); |
273 if (!desc) 274 return -ENOMEM; 275 276 desc->sg_allocated_len = sg_len; 277 INIT_LIST_HEAD(&desc->node); 278 279 spin_lock_irqsave(&chan->vc.lock, flags); 280 list_add_tail(&desc->node, &chan->desc_freed); --- 637 unchanged lines hidden --- | 273 if (!desc) 274 return -ENOMEM; 275 276 desc->sg_allocated_len = sg_len; 277 INIT_LIST_HEAD(&desc->node); 278 279 spin_lock_irqsave(&chan->vc.lock, flags); 280 list_add_tail(&desc->node, &chan->desc_freed); --- 637 unchanged lines hidden --- |