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

2018-10-30 Thread Ulrich Hecht
Thanks for your patch!

> On October 30, 2018 at 7:13 AM Yoshihiro Shimoda 
>  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 
> Fixes: 5d23188a473d ("serial: sh-sci: make RX FIFO parameters tunable via 
> sysfs")
> Cc:  # v4.11+
> Signed-off-by: Yoshihiro Shimoda 
> ---
>  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(_uart_driver, >port);
> @@ -3112,8 +3113,7 @@ static int sci_remove(struct platform_device *dev)
>   sysfs_remove_file(>dev.kobj,
> _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.kobj,
> _attr_rx_fifo_timeout.attr);
>   }
> -- 
> 1.9.1
>

Reviewed-by: Ulrich Hecht 

CU
Uli


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

2018-10-30 Thread Yoshihiro Shimoda
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 
Fixes: 5d23188a473d ("serial: sh-sci: make RX FIFO parameters tunable via 
sysfs")
Cc:  # v4.11+
Signed-off-by: Yoshihiro Shimoda 
---
 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(_uart_driver, >port);
@@ -3112,8 +3113,7 @@ static int sci_remove(struct platform_device *dev)
sysfs_remove_file(>dev.kobj,
  _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.kobj,
  _attr_rx_fifo_timeout.attr);
}
-- 
1.9.1