[PATCH] Don't shutdown mpc5200 serial port if it is a console
Grant Likely
grant.likely at secretlab.ca
Fri Apr 20 04:08:33 EST 2007
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 at secretlab.ca>
Signed-off-by: Bartlomiej Sieka <tur at semihalf.com>
---
This is a simple bug fix, but it's not a critical one. It would be really
nice to get this merged for 2.6.21
drivers/serial/mpc52xx_uart.c | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/drivers/serial/mpc52xx_uart.c b/drivers/serial/mpc52xx_uart.c
index f8c1761..35669f8 100644
--- a/drivers/serial/mpc52xx_uart.c
+++ b/drivers/serial/mpc52xx_uart.c
@@ -257,14 +257,16 @@ mpc52xx_uart_shutdown(struct uart_port *port)
{
struct mpc52xx_psc __iomem *psc = PSC(port);
- /* Shut down the port, interrupt and all */
- out_8(&psc->command,MPC52xx_PSC_RST_RX);
- out_8(&psc->command,MPC52xx_PSC_RST_TX);
+ /* We don't want to shut down a port that is used as a console */
+ if (!uart_console(port)) {
+ out_8(&psc->command,MPC52xx_PSC_RST_RX);
+ out_8(&psc->command,MPC52xx_PSC_RST_TX);
- port->read_status_mask = 0;
- out_be16(&psc->mpc52xx_psc_imr,port->read_status_mask);
+ port->read_status_mask = 0;
+ out_be16(&psc->mpc52xx_psc_imr,port->read_status_mask);
+ }
- /* Release interrupt */
+ /* Release interrupt (OK for console port b/c console uses polling) */
free_irq(port->irq, port);
}
--
1.5.1
More information about the Linuxppc-dev
mailing list