Re: [PATCH v2 6/7] serial: qcom-geni: drop flip buffer WARN()

From: Johan Hovold
Date: Wed Oct 09 2024 - 10:23:08 EST


On Thu, Oct 03, 2024 at 01:06:43PM -0700, Doug Anderson wrote:
> On Tue, Oct 1, 2024 at 5:51 AM Johan Hovold <johan+linaro@xxxxxxxxxx> wrote:

> > @@ -570,9 +570,8 @@ static void handle_rx_uart(struct uart_port *uport, u32 bytes, bool drop)
> >
> > ret = tty_insert_flip_string(tport, port->rx_buf, bytes);
> > if (ret != bytes) {
> > - dev_err(uport->dev, "%s:Unable to push data ret %d_bytes %d\n",
> > - __func__, ret, bytes);
> > - WARN_ON_ONCE(1);
> > + dev_err_ratelimited(uport->dev, "failed to push data (%d < %u)\n",
> > + ret, bytes);
>
> Not that it really matters, but since you're fixing the type of
> "bytes" to %u you probably should fix "ret" to %u too, which means
> changing the type of it? Officially tty_insert_flip_string returns the
> (unsigned) size_t.

Yeah, that was changed recently, but apparently not all callers were
updated. I'll just leave this as is for now too.

> As a nit, I'd also say that your error message shouldn't assert "<"
> unless you change your "if" test to "<". It seems safer to use != so
> IMO the printout should also say "!=".

Possibly, but if we ever hit that we have bigger problems.

> I'd hope you're not hitting this error a lot because it means you're
> dropping bytes, but getting rid of the WARN_ON and changing to
> ratelimited makes sense to me.

No, this was just something I noticed when reviewing the function.

Johan