diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c
index 9fdc944ff48dfc8f5256ff9ff844917c3de6348b..56aa1e6cc380c5247765acd1d9a4d7f0dbc5ff65 100644
--- a/drivers/usb/serial/pl2303.c
+++ b/drivers/usb/serial/pl2303.c
@@ -511,7 +511,7 @@ static int pl2303_open(struct tty_struct *tty, struct usb_serial_port *port)
 		return result;
 	}
 
-	result = usb_serial_generic_submit_read_urb(port, GFP_KERNEL);
+	result = usb_serial_generic_open(tty, port);
 	if (result) {
 		usb_kill_urb(port->interrupt_in_urb);
 		return result;