diff options
Diffstat (limited to 'drivers/serial/mpc52xx_uart.c')
-rw-r--r-- | drivers/serial/mpc52xx_uart.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/serial/mpc52xx_uart.c b/drivers/serial/mpc52xx_uart.c index 8d24cd521056..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) | |||
257 | { | 257 | { |
258 | struct mpc52xx_psc __iomem *psc = PSC(port); | 258 | struct mpc52xx_psc __iomem *psc = PSC(port); |
259 | 259 | ||
260 | /* Shut down the port, interrupt and all */ | 260 | /* Shut down the port. Leave TX active if on a console port */ |
261 | out_8(&psc->command,MPC52xx_PSC_RST_RX); | 261 | out_8(&psc->command,MPC52xx_PSC_RST_RX); |
262 | out_8(&psc->command,MPC52xx_PSC_RST_TX); | 262 | if (!uart_console(port)) |
263 | out_8(&psc->command,MPC52xx_PSC_RST_TX); | ||
263 | 264 | ||
264 | port->read_status_mask = 0; | 265 | port->read_status_mask = 0; |
265 | out_be16(&psc->mpc52xx_psc_imr,port->read_status_mask); | 266 | out_be16(&psc->mpc52xx_psc_imr,port->read_status_mask); |
@@ -1069,7 +1070,7 @@ mpc52xx_uart_of_enumerate(void) | |||
1069 | continue; | 1070 | continue; |
1070 | 1071 | ||
1071 | /* Is a particular device number requested? */ | 1072 | /* Is a particular device number requested? */ |
1072 | devno = get_property(np, "port-number", NULL); | 1073 | devno = of_get_property(np, "port-number", NULL); |
1073 | mpc52xx_uart_of_assign(of_node_get(np), devno ? *devno : -1); | 1074 | mpc52xx_uart_of_assign(of_node_get(np), devno ? *devno : -1); |
1074 | } | 1075 | } |
1075 | 1076 | ||