aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/dwc3/core.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index b415c0c859d3..8d543ea4352a 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -169,7 +169,6 @@ static void dwc3_free_one_event_buffer(struct dwc3 *dwc,
169 struct dwc3_event_buffer *evt) 169 struct dwc3_event_buffer *evt)
170{ 170{
171 dma_free_coherent(dwc->dev, evt->length, evt->buf, evt->dma); 171 dma_free_coherent(dwc->dev, evt->length, evt->buf, evt->dma);
172 kfree(evt);
173} 172}
174 173
175/** 174/**
@@ -185,7 +184,7 @@ dwc3_alloc_one_event_buffer(struct dwc3 *dwc, unsigned length)
185{ 184{
186 struct dwc3_event_buffer *evt; 185 struct dwc3_event_buffer *evt;
187 186
188 evt = kzalloc(sizeof(*evt), GFP_KERNEL); 187 evt = devm_kzalloc(dwc->dev, sizeof(*evt), GFP_KERNEL);
189 if (!evt) 188 if (!evt)
190 return ERR_PTR(-ENOMEM); 189 return ERR_PTR(-ENOMEM);
191 190
@@ -215,8 +214,6 @@ static void dwc3_free_event_buffers(struct dwc3 *dwc)
215 if (evt) 214 if (evt)
216 dwc3_free_one_event_buffer(dwc, evt); 215 dwc3_free_one_event_buffer(dwc, evt);
217 } 216 }
218
219 kfree(dwc->ev_buffs);
220} 217}
221 218
222/** 219/**
@@ -235,7 +232,8 @@ static int __devinit dwc3_alloc_event_buffers(struct dwc3 *dwc, unsigned length)
235 num = DWC3_NUM_INT(dwc->hwparams.hwparams1); 232 num = DWC3_NUM_INT(dwc->hwparams.hwparams1);
236 dwc->num_event_buffers = num; 233 dwc->num_event_buffers = num;
237 234
238 dwc->ev_buffs = kzalloc(sizeof(*dwc->ev_buffs) * num, GFP_KERNEL); 235 dwc->ev_buffs = devm_kzalloc(dwc->dev, sizeof(*dwc->ev_buffs) * num,
236 GFP_KERNEL);
239 if (!dwc->ev_buffs) { 237 if (!dwc->ev_buffs) {
240 dev_err(dwc->dev, "can't allocate event buffers array\n"); 238 dev_err(dwc->dev, "can't allocate event buffers array\n");
241 return -ENOMEM; 239 return -ENOMEM;