Re: [PATCH] Don't shutdown mpc5200 serial port if it is a console

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The idea is OK,

but only TX should be left active and the interrupts should still be
disabled (imr set to 0), so we don't generate unhandled interrupts ...


        Sylvain


Grant Likely wrote:
> 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@xxxxxxxxxxxx>
> Signed-off-by: Bartlomiej Sieka <tur@xxxxxxxxxxxx>
> ---
>
> 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);
>  }
>  
>   

-
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux