diff options
| author | Cássio Gabriel <cassiogabrielcontato@gmail.com> | 2026-03-23 10:46:24 -0300 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2026-03-27 14:40:24 +0100 |
| commit | a213b6b019519063ce10569b19da20eac6ab884f (patch) | |
| tree | 5615a4e3bf4e19943c8db3b5856d0b91d0a750c7 /tools/perf/scripts/python/stackcollapse.py | |
| parent | 32f35f9d8e457f5b2ee1df3f7a45af42965bedfe (diff) | |
ALSA: usb-audio: rotate standard MIDI output port scan
snd_usbmidi_standard_output() iterates output ports in ascending order
and drains each active port until the URB is full. On interfaces where
multiple USB-MIDI cables share one endpoint, sustained traffic on a
lower-numbered port can consume every refill before higher-numbered
ports are even examined.
That behavior dates back to the original implementation and still
applies with the current multi-URB output path. snd_usbmidi_do_output()
can refill several idle URBs in one pass, but each refill restarts the
scan at port 0, so a busy lower-numbered port can keep higher-numbered
ports from making progress at all.
Use ep->current_port as the starting point of the scan and advance it
after each URB fill. This keeps the existing packet formatting and
per-port state handling intact while preventing persistent starvation of
higher-numbered ports.
Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
Link: https://patch.msgid.link/20260323-usbmidi-port-fairness-v1-1-2d68e97592a1@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
