aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/export-to-postgresql.py
diff options
context:
space:
mode:
authorMathias Nyman <[email protected]>2024-03-05 15:23:12 +0200
committerGreg Kroah-Hartman <[email protected]>2024-03-05 13:47:08 +0000
commitb234c70fefa7532d34ebee104de64cc16f1b21e4 (patch)
tree6fe274eaeac50c84826ceb37a56771340890835b /tools/perf/scripts/python/export-to-postgresql.py
parent69c63350e573367f9c8594162288cffa8a26d0d1 (diff)
xhci: Fix failure to detect ring expansion need.
Ring expansion checker may incorrectly assume a completely full ring is empty, missing the need for expansion. This is due to a special empty ring case where the dequeue ends up ahead of the enqueue pointer. This is seen when enqueued TRBs fill up exactly a segment, with enqueue then pointing to the end link TRB. Once those TRBs are handled the dequeue pointer will follow the link TRB and end up pointing to the first entry on the next segment, past the enqueue. This same enqueue - dequeue condition can be true if a ring is full, with enqueue ending on that last link TRB before the dequeue pointer on the next segment. This can be seen when queuing several ~510 small URBs via usbfs in one go before a single one is handled (i.e. dequeue not moved from first entry in segment). Expand the ring already when enqueue reaches the link TRB before the dequeue segment, instead of expanding it when enqueue moves into the dequeue segment. Reported-by: Chris Yokum <[email protected]> Closes: https://lore.kernel.org/all/[email protected] Tested-by: Chris Yokum <[email protected]> Fixes: f5af638f0609 ("xhci: Fix transfer ring expansion size calculation") Cc: [email protected] # v6.5+ Signed-off-by: Mathias Nyman <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions