On 3/11/2025 1:29 AM, Miaoqing Pan wrote:The events currently observed are all firmware logs. The discarded packets will not affect normal operation. I will adjust the logging to debug level.
On 3/10/2025 6:09 PM, Johan Hovold wrote:
I'm still waiting for feedback from one user that can reproduce the
ring-buffer corruption very easily, but another user mentioned seeing
multiple zero-length descriptor warnings over the weekend when running
with this patch:
ath11k_pci 0006:01:00.0: rxed invalid length (nbytes 0, max 2048)
Are there ever any valid reasons for seeing a zero-length descriptor
(i.e. unrelated to the race at hand)? IIUC the warning would only be
printed when processing such descriptors a second time (i.e. when
is_desc_len0 is set).
That's exactly the logic, only can see the warning in a second time. For
the first time, ath12k_ce_completed_recv_next() returns '-EIO'.
That didn't answer Johan's first question:
Are there ever any valid reasons for seeing a zero-length descriptor?
We have an issue that there is a race condition where hardware updates theThanks for the addition.
pointer before it has filled all the data. The current solution is just to
read the data a second time. But if that second read also occurs before
hardware has updated the data, then the issue isn't fixed.
So should there be some forced delay before we read a second time?
Or should we attempt to read more times?