Re: [PATCH] n_gsm: Fix write handling for zero bytes written

From: Tony Lindgren
Date: Tue Aug 18 2020 - 06:46:51 EST


* Jiri Slaby <jirislaby@xxxxxxxxxx> [200818 10:14]:
> On 18. 08. 20, 11:56, Tony Lindgren wrote:
> > Hi,
> >
> > * Jiri Slaby <jirislaby@xxxxxxxxxx> [200818 08:24]:
> >> On 17. 08. 20, 15:54, Tony Lindgren wrote:
> >>> If write returns zero we currently end up removing the message
> >>> from the queue. Instead of removing the message, we want to just
> >>> break out of the loop just like we already do for error codes.
> >>
> >> When exactly does the only writer (gsmld_output) return zero for
> >> non-zero len parameter?
> >
> > I ran into this when testing with the WIP serial core PM runtime
> > changes from Andy Shevchenko earlier. If there are also other
> > cases where we have serial drivers return 0, I don't know about
> > them.
>
> Sorry, I don't understand: my gsmld_output() ignores the return value
> from drivers' write and returns something greater than zero or a
> negative error. What tree/SHA do you run?

Oh right, good catch. I also had my WIP serdev-ngsm patches applied
that uses gsm_serdev_output() and returns the bytes written. Andy's
patches do not touch n_gsm.c.

Hmm sounds like we should also start returning value also from
gsmld_output()? Any objections to making that change?

For reference, Andy's WIP serial cor PM runtime changes are at:

https://gitlab.com/andy-shev/next.git/ topic/uart/rpm-plus

Regards,

Tony