Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 248705
b: refs/heads/master
c: 74f5e1b
h: refs/heads/master
i:
  248703: 2ef3cdb
v: v3
  • Loading branch information
Johan Hovold authored and Greg Kroah-Hartman committed Apr 13, 2011
1 parent 6bc4846 commit 985bd64
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 17 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 94d4c8919de3ae9e2e029ed121adfed43803bb5d
refs/heads/master: 74f5e1babde76149c2bb35ca5dbf4d0b9b38f161
29 changes: 13 additions & 16 deletions trunk/drivers/usb/class/cdc-acm.c
Original file line number Diff line number Diff line change
Expand Up @@ -1177,8 +1177,17 @@ static int acm_probe(struct usb_interface *intf,
goto alloc_fail5;
}
for (i = 0; i < num_rx_buf; i++) {
struct acm_rb *rb = &(acm->rb[i]);
struct acm_ru *rcv = &(acm->ru[i]);

rb->base = usb_alloc_coherent(acm->dev, readsize, GFP_KERNEL,
&rb->dma);
if (!rb->base) {
dev_err(&intf->dev, "out of memory "
"(read bufs usb_alloc_coherent)\n");
goto alloc_fail6;
}

rcv->urb = usb_alloc_urb(0, GFP_KERNEL);
if (rcv->urb == NULL) {
dev_err(&intf->dev,
Expand All @@ -1189,25 +1198,14 @@ static int acm_probe(struct usb_interface *intf,
rcv->urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
rcv->instance = acm;
}
for (i = 0; i < num_rx_buf; i++) {
struct acm_rb *rb = &(acm->rb[i]);

rb->base = usb_alloc_coherent(acm->dev, readsize,
GFP_KERNEL, &rb->dma);
if (!rb->base) {
dev_err(&intf->dev,
"out of memory (read bufs usb_alloc_coherent)\n");
goto alloc_fail7;
}
}
for (i = 0; i < ACM_NW; i++) {
struct acm_wb *snd = &(acm->wb[i]);

snd->urb = usb_alloc_urb(0, GFP_KERNEL);
if (snd->urb == NULL) {
dev_err(&intf->dev,
"out of memory (write urbs usb_alloc_urb)\n");
goto alloc_fail8;
goto alloc_fail7;
}

if (usb_endpoint_xfer_int(epwrite))
Expand All @@ -1226,7 +1224,7 @@ static int acm_probe(struct usb_interface *intf,

i = device_create_file(&intf->dev, &dev_attr_bmCapabilities);
if (i < 0)
goto alloc_fail8;
goto alloc_fail7;

if (cfd) { /* export the country data */
acm->country_codes = kmalloc(cfd->bLength - 4, GFP_KERNEL);
Expand Down Expand Up @@ -1278,14 +1276,13 @@ static int acm_probe(struct usb_interface *intf,
acm_table[minor] = acm;

return 0;
alloc_fail8:
alloc_fail7:
for (i = 0; i < ACM_NW; i++)
usb_free_urb(acm->wb[i].urb);
alloc_fail7:
acm_read_buffers_free(acm);
alloc_fail6:
for (i = 0; i < num_rx_buf; i++)
usb_free_urb(acm->ru[i].urb);
acm_read_buffers_free(acm);
usb_free_urb(acm->ctrlurb);
alloc_fail5:
acm_write_buffers_free(acm);
Expand Down

0 comments on commit 985bd64

Please sign in to comment.