diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/class/cdc-acm.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index 561baed7ba01..2e5dea866b6f 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c | |||
@@ -1328,11 +1328,8 @@ made_compressed_probe: | |||
1328 | goto alloc_fail; | 1328 | goto alloc_fail; |
1329 | 1329 | ||
1330 | minor = acm_alloc_minor(acm); | 1330 | minor = acm_alloc_minor(acm); |
1331 | if (minor < 0) { | 1331 | if (minor < 0) |
1332 | dev_err(&intf->dev, "no more free acm devices\n"); | 1332 | goto alloc_fail1; |
1333 | kfree(acm); | ||
1334 | return -ENODEV; | ||
1335 | } | ||
1336 | 1333 | ||
1337 | ctrlsize = usb_endpoint_maxp(epctrl); | 1334 | ctrlsize = usb_endpoint_maxp(epctrl); |
1338 | readsize = usb_endpoint_maxp(epread) * | 1335 | readsize = usb_endpoint_maxp(epread) * |
@@ -1523,6 +1520,7 @@ alloc_fail4: | |||
1523 | usb_free_coherent(usb_dev, ctrlsize, acm->ctrl_buffer, acm->ctrl_dma); | 1520 | usb_free_coherent(usb_dev, ctrlsize, acm->ctrl_buffer, acm->ctrl_dma); |
1524 | alloc_fail2: | 1521 | alloc_fail2: |
1525 | acm_release_minor(acm); | 1522 | acm_release_minor(acm); |
1523 | alloc_fail1: | ||
1526 | kfree(acm); | 1524 | kfree(acm); |
1527 | alloc_fail: | 1525 | alloc_fail: |
1528 | return rv; | 1526 | return rv; |