Do not return from ems_usb_start if allocation fails. If not all URBs
could be allocated use the one already submitted.
Signed-off-by: Sebastian Haas <[email protected]>
Signed-off-by: Marc Kleine-Budde <[email protected]>
if (!urb) {
dev_err(netdev->dev.parent,
"No memory left for URBs\n");
- return -ENOMEM;
+ err = -ENOMEM;
+ break;
}
buf = usb_alloc_coherent(dev->udev, RX_BUFFER_SIZE, GFP_KERNEL,
dev_err(netdev->dev.parent,
"No memory left for USB buffer\n");
usb_free_urb(urb);
- return -ENOMEM;
+ err = -ENOMEM;
+ break;
}
usb_fill_bulk_urb(urb, dev->udev, usb_rcvbulkpipe(dev->udev, 2),