ALSA: usb-audio: Trim superfluous "MIDI" suffix from UMP EP name

A single USB audio device may have multiple interfaces for different
purposes (e.g. audio, MIDI and HID), where the iInterface descriptor
of each interface may contain an own suffix, e.g. "MIDI" for a MIDI
interface.  as such a suffix is superfluous as a rawmidi and UMP
Endpoint name, this patch trims the superfluous "MIDI" suffix from the
name string.

Reviewed-by: Jaroslav Kysela <perex@perex.cz>
Link: https://lore.kernel.org/r/20230523075358.9672-12-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Iwai 2023-05-23 09:53:32 +02:00
parent 06cf3bf09d
commit 51701400a9

View file

@ -896,7 +896,14 @@ static int set_altset(struct snd_usb_midi2_interface *umidi)
static void fill_ump_ep_name(struct snd_ump_endpoint *ump,
struct usb_device *dev, int id)
{
int len;
usb_string(dev, id, ump->info.name, sizeof(ump->info.name));
/* trim superfluous "MIDI" suffix */
len = strlen(ump->info.name);
if (len > 5 && !strcmp(ump->info.name + len - 5, " MIDI"))
ump->info.name[len - 5] = 0;
}
/* fill the fallback name string for each rawmidi instance */