aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/class/cdc-acm.c8
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);
1524alloc_fail2: 1521alloc_fail2:
1525 acm_release_minor(acm); 1522 acm_release_minor(acm);
1523alloc_fail1:
1526 kfree(acm); 1524 kfree(acm);
1527alloc_fail: 1525alloc_fail:
1528 return rv; 1526 return rv;