All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johan Hovold <johan@kernel.org>
To: Willy Tarreau <w@1wt.eu>
Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
	"Paul Größel" <pb.g@gmx.de>,
	stable@vger.kernel.org
Subject: Re: [PATCH] Revert "USB: serial: ch341: fix character loss at high transfer rates"
Date: Tue, 24 Aug 2021 15:25:16 +0200	[thread overview]
Message-ID: <YSTzPIkwNDOON5j8@hovoldconsulting.com> (raw)
In-Reply-To: <20210824123232.GA25435@1wt.eu>

On Tue, Aug 24, 2021 at 02:32:32PM +0200, Willy Tarreau wrote:
> On Tue, Aug 24, 2021 at 02:19:26PM +0200, Johan Hovold wrote:
> > This reverts commit 3c18e9baee0ef97510dcda78c82285f52626764b.
> > 
> > These devices do not appear to send a zero-length packet when the
> > transfer size is a multiple of the bulk-endpoint max-packet size. This
> > means that incoming data may not be processed by the driver until a
> > short packet is received or the receive buffer is full.
> > 
> > Revert back to using endpoint-sized receive buffers to avoid stalled
> > reads.
> 
> Sorry for this, I didn't notice any issue here (aside for the chip
> working where it used not to). I have no idea what these zero-length
> packets correspond to, nor why they're affected by the transfer size.
> Do you have any idea what I should look for ? Because without that
> patch, the device is unusable for me :-/

Zero-length packets are used to indicate completion of bulk transfers
that are multiples of the endpoint max-packet size (as per the USB
spec). Without those the host controller driver doesn't now that the
transfer is complete and that it should call the driver completion
callback (and instead waits for the other completion conditions).

It may be possible to configure the device to send ZLPs somehow but
since there's no public documentation for the protocol that may require
some reverse engineering.

Johan

  reply	other threads:[~2021-08-24 13:25 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-24 12:19 Johan Hovold
2021-08-24 12:32 ` Willy Tarreau
2021-08-24 13:25   ` Johan Hovold [this message]
2021-08-24 15:06     ` Willy Tarreau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YSTzPIkwNDOON5j8@hovoldconsulting.com \
    --to=johan@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=pb.g@gmx.de \
    --cc=stable@vger.kernel.org \
    --cc=w@1wt.eu \
    --subject='Re: [PATCH] Revert "USB: serial: ch341: fix character loss at high transfer rates"' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.