diff --git a/drivers/net/ppp/ppp_async.c b/drivers/net/ppp/ppp_async.c
index 9c889e0303dd1f079c301c9a008fa8a0a094e90b..fa36163f320a9b2fe4b62ad8072d273ee49075ec 100644
--- a/drivers/net/ppp/ppp_async.c
+++ b/drivers/net/ppp/ppp_async.c
@@ -198,7 +198,7 @@ ppp_asynctty_open(struct tty_struct *tty)
 		goto out_free;
 
 	tty->disc_data = ap;
-	tty->receive_room = 65536;
+	tty->receive_room = 131072;
 	return 0;
 
  out_free:
@@ -356,7 +356,8 @@ ppp_asynctty_receive(struct tty_struct *tty, const unsigned char *buf,
 	if (!skb_queue_empty(&ap->rqueue))
 		tasklet_schedule(&ap->tsk);
 	ap_put(ap);
-	tty_unthrottle(tty);
+	if (tty->port && !tty->port->low_latency)
+		tty_unthrottle(tty);
 }
 
 static void