2023-10-25 14:27:12

by VAMSHI GAJJELA

[permalink] [raw]
Subject: [PATCH v2 3/3] serial: core: Update uart_poll_timeout() function to return unsigned long

From: VAMSHI GAJJELA <[email protected]>

The function uart_fifo_timeout() returns an unsigned long value, which is
the number of jiffies. Therefore, the function uart_poll_timeout() has been
modified to use an unsigned long type for timeout values instead of an int
and to avoid truncation.
The return type of the function uart_poll_timeout() has also been changed
from int to unsigned long to be consistent with the type of timeout values.

Signed-off-by: VAMSHI GAJJELA <[email protected]>
---
v2:
- unsigned long instead of unsigned int
- added () after function name in short log
- updated description
include/linux/serial_core.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
index bb6f073bc159..6916a1d7e477 100644
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
@@ -773,9 +773,9 @@ static inline unsigned long uart_fifo_timeout(struct uart_port *port)
}

/* Base timer interval for polling */
-static inline int uart_poll_timeout(struct uart_port *port)
+static inline unsigned long uart_poll_timeout(struct uart_port *port)
{
- int timeout = uart_fifo_timeout(port);
+ unsigned long timeout = uart_fifo_timeout(port);

return timeout > 6 ? (timeout / 2 - 2) : 1;
}
--
2.42.0.758.gaed0368e0e-goog


2023-10-26 08:56:52

by Jiri Slaby

[permalink] [raw]
Subject: Re: [PATCH v2 3/3] serial: core: Update uart_poll_timeout() function to return unsigned long

On 25. 10. 23, 16:26, Vamshi Gajjela wrote:
> From: VAMSHI GAJJELA <[email protected]>
>
> The function uart_fifo_timeout() returns an unsigned long value, which is
> the number of jiffies. Therefore, the function uart_poll_timeout() has been
> modified to use an unsigned long type for timeout values instead of an int
> and to avoid truncation.

Hi,

there is no truncation possible, right?

> The return type of the function uart_poll_timeout() has also been changed
> from int to unsigned long to be consistent with the type of timeout values.
>
> Signed-off-by: VAMSHI GAJJELA <[email protected]>
> ---
> v2:
> - unsigned long instead of unsigned int
> - added () after function name in short log
> - updated description
> include/linux/serial_core.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
> index bb6f073bc159..6916a1d7e477 100644
> --- a/include/linux/serial_core.h
> +++ b/include/linux/serial_core.h
> @@ -773,9 +773,9 @@ static inline unsigned long uart_fifo_timeout(struct uart_port *port)
> }
>
> /* Base timer interval for polling */
> -static inline int uart_poll_timeout(struct uart_port *port)
> +static inline unsigned long uart_poll_timeout(struct uart_port *port)
> {
> - int timeout = uart_fifo_timeout(port);
> + unsigned long timeout = uart_fifo_timeout(port);
>
> return timeout > 6 ? (timeout / 2 - 2) : 1;
> }

--
js
suse labs

2023-10-26 09:24:24

by Ilpo Järvinen

[permalink] [raw]
Subject: Re: [PATCH v2 3/3] serial: core: Update uart_poll_timeout() function to return unsigned long

On Thu, 26 Oct 2023, Jiri Slaby wrote:

> On 25. 10. 23, 16:26, Vamshi Gajjela wrote:
> > From: VAMSHI GAJJELA <[email protected]>
> >
> > The function uart_fifo_timeout() returns an unsigned long value, which is
> > the number of jiffies. Therefore, the function uart_poll_timeout() has been
> > modified to use an unsigned long type for timeout values instead of an int
> > and to avoid truncation.
>
> Hi,
>
> there is no truncation possible, right?

That's very likely true (I didn't run the calculations), thus it's correct
to not have Fixes tag. It's more about having consistent typing since
we're talking about jiffies, so unsigned long as usual.

> > The return type of the function uart_poll_timeout() has also been changed
> > from int to unsigned long to be consistent with the type of timeout values.

Don't write changes you make in the patch in the past tense. Just say:

Change the return type of uart_poll_timeout() from ...

The comment also applies to the other sentence above this one.

--
i.

> > Signed-off-by: VAMSHI GAJJELA <[email protected]>
> > ---
> > v2:
> > - unsigned long instead of unsigned int
> > - added () after function name in short log
> > - updated description
> > include/linux/serial_core.h | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
> > index bb6f073bc159..6916a1d7e477 100644
> > --- a/include/linux/serial_core.h
> > +++ b/include/linux/serial_core.h
> > @@ -773,9 +773,9 @@ static inline unsigned long uart_fifo_timeout(struct
> > uart_port *port)
> > }
> > /* Base timer interval for polling */
> > -static inline int uart_poll_timeout(struct uart_port *port)
> > +static inline unsigned long uart_poll_timeout(struct uart_port *port)
> > {
> > - int timeout = uart_fifo_timeout(port);
> > + unsigned long timeout = uart_fifo_timeout(port);
> > return timeout > 6 ? (timeout / 2 - 2) : 1;
> > }
>
>

2023-10-26 09:49:58

by Jiri Slaby

[permalink] [raw]
Subject: Re: [PATCH v2 3/3] serial: core: Update uart_poll_timeout() function to return unsigned long

On 26. 10. 23, 11:24, Ilpo Järvinen wrote:
> On Thu, 26 Oct 2023, Jiri Slaby wrote:
>
>> On 25. 10. 23, 16:26, Vamshi Gajjela wrote:
>>> From: VAMSHI GAJJELA <[email protected]>
>>>
>>> The function uart_fifo_timeout() returns an unsigned long value, which is
>>> the number of jiffies. Therefore, the function uart_poll_timeout() has been
>>> modified to use an unsigned long type for timeout values instead of an int
>>> and to avoid truncation.
>>
>> Hi,
>>
>> there is no truncation possible, right?
>
> That's very likely true (I didn't run the calculations), thus it's correct
> to not have Fixes tag.

Good. I would remove that "and to avoid truncation" completely from the
commit log. I would only say that we are getting things consistent.

"avoid truncation" can lead to -> we should backport it to stable. And
neither is true.

> It's more about having consistent typing since
> we're talking about jiffies, so unsigned long as usual.

Yeah and that's of course fine by me.

thanks,
--
js
suse labs

2023-10-26 12:29:16

by VAMSHI GAJJELA

[permalink] [raw]
Subject: Re: [PATCH v2 3/3] serial: core: Update uart_poll_timeout() function to return unsigned long

On Thu, Oct 26, 2023 at 2:54 PM Ilpo Järvinen
<[email protected]> wrote:
>
> On Thu, 26 Oct 2023, Jiri Slaby wrote:
>
> > On 25. 10. 23, 16:26, Vamshi Gajjela wrote:
> > > From: VAMSHI GAJJELA <[email protected]>
> > >
> > > The function uart_fifo_timeout() returns an unsigned long value, which is
> > > the number of jiffies. Therefore, the function uart_poll_timeout() has been
> > > modified to use an unsigned long type for timeout values instead of an int
> > > and to avoid truncation.
> >
> > Hi,
> >
> > there is no truncation possible, right?
>
> That's very likely true (I didn't run the calculations), thus it's correct
> to not have Fixes tag. It's more about having consistent typing since
> we're talking about jiffies, so unsigned long as usual.
>
> > > The return type of the function uart_poll_timeout() has also been changed
> > > from int to unsigned long to be consistent with the type of timeout values.
>
> Don't write changes you make in the patch in the past tense. Just say:
>
> Change the return type of uart_poll_timeout() from ...
>
> The comment also applies to the other sentence above this one.
Sure, will update commit message.
>
> --
> i.
>
> > > Signed-off-by: VAMSHI GAJJELA <[email protected]>
> > > ---
> > > v2:
> > > - unsigned long instead of unsigned int
> > > - added () after function name in short log
> > > - updated description
> > > include/linux/serial_core.h | 4 ++--
> > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
> > > index bb6f073bc159..6916a1d7e477 100644
> > > --- a/include/linux/serial_core.h
> > > +++ b/include/linux/serial_core.h
> > > @@ -773,9 +773,9 @@ static inline unsigned long uart_fifo_timeout(struct
> > > uart_port *port)
> > > }
> > > /* Base timer interval for polling */
> > > -static inline int uart_poll_timeout(struct uart_port *port)
> > > +static inline unsigned long uart_poll_timeout(struct uart_port *port)
> > > {
> > > - int timeout = uart_fifo_timeout(port);
> > > + unsigned long timeout = uart_fifo_timeout(port);
> > > return timeout > 6 ? (timeout / 2 - 2) : 1;
> > > }
> >
> >

2023-10-26 12:30:34

by VAMSHI GAJJELA

[permalink] [raw]
Subject: Re: [PATCH v2 3/3] serial: core: Update uart_poll_timeout() function to return unsigned long

On Thu, Oct 26, 2023 at 3:19 PM Jiri Slaby <[email protected]> wrote:
>
> On 26. 10. 23, 11:24, Ilpo Järvinen wrote:
> > On Thu, 26 Oct 2023, Jiri Slaby wrote:
> >
> >> On 25. 10. 23, 16:26, Vamshi Gajjela wrote:
> >>> From: VAMSHI GAJJELA <[email protected]>
> >>>
> >>> The function uart_fifo_timeout() returns an unsigned long value, which is
> >>> the number of jiffies. Therefore, the function uart_poll_timeout() has been
> >>> modified to use an unsigned long type for timeout values instead of an int
> >>> and to avoid truncation.
> >>
> >> Hi,
> >>
> >> there is no truncation possible, right?
> >
> > That's very likely true (I didn't run the calculations), thus it's correct
> > to not have Fixes tag.
>
> Good. I would remove that "and to avoid truncation" completely from the
> commit log. I would only say that we are getting things consistent.
>
> "avoid truncation" can lead to -> we should backport it to stable. And
> neither is true.
I will drop "and to avoid truncation".
>
> > It's more about having consistent typing since
> > we're talking about jiffies, so unsigned long as usual.
>
> Yeah and that's of course fine by me.
>
> thanks,
> --
> js
> suse labs
>