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

From: Tony Lindgren
Date: Wed Aug 19 2020 - 02:40:34 EST


* Jiri Slaby <jirislaby@xxxxxxxxxx> [200819 06:20]:
> On 18. 08. 20, 12:47, Tony Lindgren wrote:
> > * 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?
>
> No objections here.

OK thanks, I'll post an updated patch.

Regards,

Tony