diff --git a/drivers/usb/serial/ch341.c b/drivers/usb/serial/ch341.c
index 8607f1522ef32db4036b0f0f644e422d04ab3cea..0e77511060c0795680941dc784753f58888ec014 100644
--- a/drivers/usb/serial/ch341.c
+++ b/drivers/usb/serial/ch341.c
@@ -340,7 +340,7 @@ static int ch341_open(struct tty_struct *tty, struct usb_serial_port *port)
 		dev_err(&port->dev, "%s - failed submitting interrupt urb,"
 			" error %d\n", __func__, r);
 		ch341_close(port);
-		return -EPROTO;
+		goto out;
 	}
 
 	r = usb_serial_generic_open(tty, port);