From 357058113afac0c5158fcf892cca1c9064b03fdb Mon Sep 17 00:00:00 2001 From: Felipe Balbi Date: Mon, 24 Oct 2011 12:03:13 +0300 Subject: [PATCH] --- yaml --- r: 280823 b: refs/heads/master c: 457d3f214f97783c392dd4d64e2427c121b1a4d6 h: refs/heads/master i: 280821: 738a95756197754d5560998e67cfec7a25924153 280819: 911367d7748c5430c9a8bf0f4015c4cc5f65a8c0 280815: 6c5c3f023db568233ffacb81f8374080710a1402 v: v3 --- [refs] | 2 +- trunk/drivers/usb/dwc3/core.c | 6 ++++++ trunk/drivers/usb/dwc3/core.h | 3 +-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 9e380e00c560..ae517b412676 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5ddcee27c19e36711992a0e6ed3249fd06faa0e7 +refs/heads/master: 457d3f214f97783c392dd4d64e2427c121b1a4d6 diff --git a/trunk/drivers/usb/dwc3/core.c b/trunk/drivers/usb/dwc3/core.c index 83e382b4ae28..a2db41162575 100644 --- a/trunk/drivers/usb/dwc3/core.c +++ b/trunk/drivers/usb/dwc3/core.c @@ -221,6 +221,12 @@ static int __devinit dwc3_alloc_event_buffers(struct dwc3 *dwc, unsigned length) num = DWC3_NUM_INT(dwc->hwparams.hwparams1); dwc->num_event_buffers = num; + dwc->ev_buffs = kzalloc(sizeof(*dwc->ev_buffs) * num, GFP_KERNEL); + if (!dwc->ev_buffs) { + dev_err(dwc->dev, "can't allocate event buffers array\n"); + return -ENOMEM; + } + for (i = 0; i < num; i++) { struct dwc3_event_buffer *evt; diff --git a/trunk/drivers/usb/dwc3/core.h b/trunk/drivers/usb/dwc3/core.h index 95d5a87b4091..d6f1b793cd04 100644 --- a/trunk/drivers/usb/dwc3/core.h +++ b/trunk/drivers/usb/dwc3/core.h @@ -53,7 +53,6 @@ /* Global constants */ #define DWC3_ENDPOINTS_NUM 32 -#define DWC3_EVENT_BUFFERS_MAX 2 #define DWC3_EVENT_BUFFERS_SIZE PAGE_SIZE #define DWC3_EVENT_TYPE_MASK 0xfe @@ -603,7 +602,7 @@ struct dwc3 { struct platform_device *xhci; struct resource *res; - struct dwc3_event_buffer *ev_buffs[DWC3_EVENT_BUFFERS_MAX]; + struct dwc3_event_buffer **ev_buffs; struct dwc3_ep *eps[DWC3_ENDPOINTS_NUM]; struct usb_gadget gadget;