mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
serial: cpm_uart: return immediately from console poll
commit be28c1e3ca29887e207f0cbcd294cefe5074bab6 upstream. kgdb expects poll function to return immediately and returning NO_POLL_CHAR when no character is available. Fixes: f5316b4aea024 ("kgdb,8250,pl011: Return immediately from console poll") Cc: Jason Wessel <jason.wessel@windriver.com> Cc: <stable@vger.kernel.org> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
2b7ba10476
commit
247cc73cd8
@ -1068,8 +1068,8 @@ static int poll_wait_key(char *obuf, struct uart_cpm_port *pinfo)
|
||||
/* Get the address of the host memory buffer.
|
||||
*/
|
||||
bdp = pinfo->rx_cur;
|
||||
while (bdp->cbd_sc & BD_SC_EMPTY)
|
||||
;
|
||||
if (bdp->cbd_sc & BD_SC_EMPTY)
|
||||
return NO_POLL_CHAR;
|
||||
|
||||
/* If the buffer address is in the CPM DPRAM, don't
|
||||
* convert it.
|
||||
@ -1104,7 +1104,11 @@ static int cpm_get_poll_char(struct uart_port *port)
|
||||
poll_chars = 0;
|
||||
}
|
||||
if (poll_chars <= 0) {
|
||||
poll_chars = poll_wait_key(poll_buf, pinfo);
|
||||
int ret = poll_wait_key(poll_buf, pinfo);
|
||||
|
||||
if (ret == NO_POLL_CHAR)
|
||||
return ret;
|
||||
poll_chars = ret;
|
||||
pollp = poll_buf;
|
||||
}
|
||||
poll_chars--;
|
||||
|
Loading…
x
Reference in New Issue
Block a user