Re: [PATCH] serial: sh-sci: Fix could not remove dev_attr_rx_fifo_timeout

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

 



Thanks for your patch!

> On October 30, 2018 at 7:13 AM Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> wrote:
> 
> 
> This patch fixes an issue that the sci_remove() could not remove
> dev_attr_rx_fifo_timeout because uart_remove_one_port() set
> the port->port.type to PORT_UNKNOWN.
> 
> Reported-by: Hiromitsu Yamasaki <hiromitsu.yamasaki.ym@xxxxxxxxxxx>
> Fixes: 5d23188a473d ("serial: sh-sci: make RX FIFO parameters tunable via sysfs")
> Cc: <stable@xxxxxxxxxxxxxxx> # v4.11+
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
> ---
>  drivers/tty/serial/sh-sci.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
> index ab3f6e91..3649b83 100644
> --- a/drivers/tty/serial/sh-sci.c
> +++ b/drivers/tty/serial/sh-sci.c
> @@ -3102,6 +3102,7 @@ static inline int sci_probe_earlyprintk(struct platform_device *pdev)
>  static int sci_remove(struct platform_device *dev)
>  {
>  	struct sci_port *port = platform_get_drvdata(dev);
> +	unsigned int type = port->port.type;	/* uart_remove_... clears it */
>  
>  	sci_ports_in_use &= ~BIT(port->port.line);
>  	uart_remove_one_port(&sci_uart_driver, &port->port);
> @@ -3112,8 +3113,7 @@ static int sci_remove(struct platform_device *dev)
>  		sysfs_remove_file(&dev->dev.kobj,
>  				  &dev_attr_rx_fifo_trigger.attr);
>  	}
> -	if (port->port.type == PORT_SCIFA || port->port.type == PORT_SCIFB ||
> -	    port->port.type == PORT_HSCIF) {
> +	if (type == PORT_SCIFA || type == PORT_SCIFB || type == PORT_HSCIF) {
>  		sysfs_remove_file(&dev->dev.kobj,
>  				  &dev_attr_rx_fifo_timeout.attr);
>  	}
> -- 
> 1.9.1
>

Reviewed-by: Ulrich Hecht <uli+renesas@xxxxxxxx>

CU
Uli



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux