|
@@ -717,10 +717,13 @@ static int __hvc_poll(struct hvc_struct *hp, bool may_sleep)
|
|
#endif /* CONFIG_MAGIC_SYSRQ */
|
|
#endif /* CONFIG_MAGIC_SYSRQ */
|
|
tty_insert_flip_char(&hp->port, buf[i], 0);
|
|
tty_insert_flip_char(&hp->port, buf[i], 0);
|
|
}
|
|
}
|
|
- if (n == count)
|
|
|
|
- poll_mask |= HVC_POLL_READ;
|
|
|
|
read_total = n;
|
|
read_total = n;
|
|
|
|
|
|
|
|
+ /*
|
|
|
|
+ * Latency break, schedule another poll immediately.
|
|
|
|
+ */
|
|
|
|
+ poll_mask |= HVC_POLL_READ;
|
|
|
|
+
|
|
out:
|
|
out:
|
|
/* Wakeup write queue if necessary */
|
|
/* Wakeup write queue if necessary */
|
|
if (hp->do_wakeup) {
|
|
if (hp->do_wakeup) {
|