summaryrefslogtreecommitdiff
path: root/drivers/serial/mpc52xx_uart.c
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2007-05-07 01:38:51 +1000
committerPaul Mackerras <paulus@samba.org>2007-05-07 20:31:15 +1000
commita3481197783c187707090504062488862768260a (patch)
treedabfaf208b86d88c60ca34b2c255c907a8ffe0e3 /drivers/serial/mpc52xx_uart.c
parent3a5cc44268d9c3eee301f366801005e331b1e871 (diff)
downloadlwn-a3481197783c187707090504062488862768260a.tar.gz
lwn-a3481197783c187707090504062488862768260a.zip
[POWERPC] Don't shutdown TX on mpc5200 serial port if it is a console
If the serial port gets shut down, then console output stalls. 9 out of 10 kernel hackers agree, this is a bad thing. Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Sylvain Munaut <tnt@246tNt.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'drivers/serial/mpc52xx_uart.c')
-rw-r--r--drivers/serial/mpc52xx_uart.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/serial/mpc52xx_uart.c b/drivers/serial/mpc52xx_uart.c
index f8c1761eb57f..35f8b86cc78f 100644
--- a/drivers/serial/mpc52xx_uart.c
+++ b/drivers/serial/mpc52xx_uart.c
@@ -257,9 +257,10 @@ mpc52xx_uart_shutdown(struct uart_port *port)
{
struct mpc52xx_psc __iomem *psc = PSC(port);
- /* Shut down the port, interrupt and all */
+ /* Shut down the port. Leave TX active if on a console port */
out_8(&psc->command,MPC52xx_PSC_RST_RX);
- out_8(&psc->command,MPC52xx_PSC_RST_TX);
+ if (!uart_console(port))
+ out_8(&psc->command,MPC52xx_PSC_RST_TX);
port->read_status_mask = 0;
out_be16(&psc->mpc52xx_psc_imr,port->read_status_mask);