[PATCH] serial: 8250_dw: Fix assignment error of data in dw8250_probe()

Xia Fukun posted 1 patch 2 years, 1 month ago
drivers/tty/serial/8250/8250_dw.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] serial: 8250_dw: Fix assignment error of data in dw8250_probe()
Posted by Xia Fukun 2 years, 1 month ago
When the "ri-override" property is present in the device,
data->msr_mask_on and UART_MSR_RI should be used for
OR-assignment. Fix the errors in it.

Fixes: 1bd8edba10e6 ("serial: 8250_dw: adapt to unified device property interface")
Signed-off-by: Xia Fukun <xiafukun@huawei.com>
---
 drivers/tty/serial/8250/8250_dw.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/tty/serial/8250/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c
index 7db51781289e..921b5f07828f 100644
--- a/drivers/tty/serial/8250/8250_dw.c
+++ b/drivers/tty/serial/8250/8250_dw.c
@@ -587,7 +587,7 @@ static int dw8250_probe(struct platform_device *pdev)
 
 	if (device_property_read_bool(dev, "ri-override")) {
 		/* Always report Ring indicator as inactive */
-		data->msr_mask_off |= UART_MSR_RI;
+		data->msr_mask_on |= UART_MSR_RI;
 		data->msr_mask_off |= UART_MSR_TERI;
 	}
 
-- 
2.17.1
Re: [PATCH] serial: 8250_dw: Fix assignment error of data in dw8250_probe()
Posted by Ilpo Järvinen 2 years, 1 month ago
On Fri, 4 Aug 2023, Xia Fukun wrote:

> When the "ri-override" property is present in the device,
> data->msr_mask_on and UART_MSR_RI should be used for
> OR-assignment. Fix the errors in it.
> 
> Fixes: 1bd8edba10e6 ("serial: 8250_dw: adapt to unified device property interface")
> Signed-off-by: Xia Fukun <xiafukun@huawei.com>
> ---
>  drivers/tty/serial/8250/8250_dw.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/tty/serial/8250/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c
> index 7db51781289e..921b5f07828f 100644
> --- a/drivers/tty/serial/8250/8250_dw.c
> +++ b/drivers/tty/serial/8250/8250_dw.c
> @@ -587,7 +587,7 @@ static int dw8250_probe(struct platform_device *pdev)
>  
>  	if (device_property_read_bool(dev, "ri-override")) {
>  		/* Always report Ring indicator as inactive */
> -		data->msr_mask_off |= UART_MSR_RI;
> +		data->msr_mask_on |= UART_MSR_RI;
>  		data->msr_mask_off |= UART_MSR_TERI;

The comment and also documentation says RI signal is always kept inactive 
when ri-override is present.

In Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml:

  ri-override:
    description: Override the RI modem status signal. This signal will always
      be reported as inactive instead of being obtained from the modem status
      register. Define this if your serial port does not use this pin.

...So why you think this patch is correct? (Please explain it in the v2
changelog clearly if you think your patch is still correct thing to do, 
thank you).


-- 
 i.
Re: [PATCH] serial: 8250_dw: Fix assignment error of data in dw8250_probe()
Posted by Xia Fukun 2 years, 1 month ago
On 2023/8/4 20:24, Ilpo Järvinen wrote:
> On Fri, 4 Aug 2023, Xia Fukun wrote:
> 
>> When the "ri-override" property is present in the device,
>> data->msr_mask_on and UART_MSR_RI should be used for
>> OR-assignment. Fix the errors in it.
>>  
>>  	if (device_property_read_bool(dev, "ri-override")) {
>>  		/* Always report Ring indicator as inactive */
>> -		data->msr_mask_off |= UART_MSR_RI;
>> +		data->msr_mask_on |= UART_MSR_RI;
>>  		data->msr_mask_off |= UART_MSR_TERI;
> 
> The comment and also documentation says RI signal is always kept inactive 
> when ri-override is present.
> 
> In Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml:
> 
>   ri-override:
>     description: Override the RI modem status signal. This signal will always
>       be reported as inactive instead of being obtained from the modem status
>       register. Define this if your serial port does not use this pin.
> 
> ...So why you think this patch is correct? (Please explain it in the v2
> changelog clearly if you think your patch is still correct thing to do, 
> thank you).
> 

Thank you very much for your reply. My understanding of this property is
indeed flawed. That is to say, in the "ri-override" property,
data->msr_mask_on will not be used, there will be no signal transmission?
In that case, you are right. My patch may be redundant.