|
@@ -286,7 +286,7 @@ static int opticon_write(struct tty_struct *tty, struct usb_serial_port *port,
|
|
if (!dr) {
|
|
if (!dr) {
|
|
dev_err(&port->dev, "out of memory\n");
|
|
dev_err(&port->dev, "out of memory\n");
|
|
count = -ENOMEM;
|
|
count = -ENOMEM;
|
|
- goto error;
|
|
|
|
|
|
+ goto error_no_dr;
|
|
}
|
|
}
|
|
|
|
|
|
dr->bRequestType = USB_TYPE_VENDOR | USB_RECIP_INTERFACE | USB_DIR_OUT;
|
|
dr->bRequestType = USB_TYPE_VENDOR | USB_RECIP_INTERFACE | USB_DIR_OUT;
|
|
@@ -316,6 +316,8 @@ static int opticon_write(struct tty_struct *tty, struct usb_serial_port *port,
|
|
|
|
|
|
return count;
|
|
return count;
|
|
error:
|
|
error:
|
|
|
|
+ kfree(dr);
|
|
|
|
+error_no_dr:
|
|
usb_free_urb(urb);
|
|
usb_free_urb(urb);
|
|
error_no_urb:
|
|
error_no_urb:
|
|
kfree(buffer);
|
|
kfree(buffer);
|