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)
committerTakashi Iwai <tiwai@suse.de>
Wed, 29 May 2024 08:39:40 +0000 (10:39 +0200)
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>
sound/core/seq/seq_ump_convert.c

index f5d22dd008426ffa087277377590a0db6bef0c4c..add70b4c2885deaa1a9772ec4b028b4d696c6b0f 100644 (file)
@@ -739,6 +739,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;
@@ -750,6 +751,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 >> 7) & 0x7f;
        data->system.parm2 = event->data.control.value & 0x7f;