]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ALSA: seq: Fix incorrect UMP type for system messages
authorTakashi Iwai <tiwai@suse.de>
Wed, 29 May 2024 08:37:59 +0000 (10:37 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 16 Jun 2024 11:47:48 +0000 (13:47 +0200)
commit edb32776196afa393c074d6a2733e3a69e66b299 upstream.

When converting a legacy system message to a UMP packet, it forgot to
modify the UMP type field but keeping the default type (either type 2
or 4).  Correct to the right type for system messages.

Fixes: e9e02819a98a ("ALSA: seq: Automatic conversion of UMP events")
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20240529083800.5742-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/core/seq/seq_ump_convert.c

index 9bfba69b2a70980c400f19abb53289de6224cb1e..171fb75267afae6f799d21350233256211932a6d 100644 (file)
@@ -740,6 +740,7 @@ static int system_1p_ev_to_ump_midi1(const struct snd_seq_event *event,
                                     union snd_ump_midi1_msg *data,
                                     unsigned char status)
 {
+       data->system.type = UMP_MSG_TYPE_SYSTEM; // override
        data->system.status = status;
        data->system.parm1 = event->data.control.value & 0x7f;
        return 1;
@@ -751,6 +752,7 @@ static int system_2p_ev_to_ump_midi1(const struct snd_seq_event *event,
                                     union snd_ump_midi1_msg *data,
                                     unsigned char status)
 {
+       data->system.type = UMP_MSG_TYPE_SYSTEM; // override
        data->system.status = status;
        data->system.parm1 = event->data.control.value & 0x7f;
        data->system.parm2 = (event->data.control.value >> 7) & 0x7f;