]> git.dujemihanovic.xyz Git - linux.git/commitdiff
ALSA: scarlett2: Convert meter levels from little-endian
authorGeoffrey D. Bennett <g@b4.vu>
Tue, 26 Dec 2023 16:36:48 +0000 (03:06 +1030)
committerTakashi Iwai <tiwai@suse.de>
Fri, 29 Dec 2023 14:38:26 +0000 (15:38 +0100)
Add missing conversion from little-endian data to CPU-endian in
scarlett2_usb_get_meter_levels().

Fixes: 3473185f31df ("ALSA: scarlett2: Remap Level Meter values")
Signed-off-by: Geoffrey D. Bennett <g@b4.vu>
Link: https://lore.kernel.org/r/ZYsBIE3DSKdi4YC/@m.b4.vu
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/mixer_scarlett2.c

index f7c57a2c3028f1ecca5c5c5eb054ca5121d3ec49..33a3d1161885bbe4d8be6d55ca5e9d7d9e64654c 100644 (file)
@@ -1966,7 +1966,7 @@ static int scarlett2_usb_get_meter_levels(struct usb_mixer_interface *mixer,
                __le16 num_meters;
                __le32 magic;
        } __packed req;
-       u32 resp[SCARLETT2_MAX_METERS];
+       __le32 resp[SCARLETT2_MAX_METERS];
        int i, err;
 
        req.pad = 0;
@@ -1979,7 +1979,7 @@ static int scarlett2_usb_get_meter_levels(struct usb_mixer_interface *mixer,
 
        /* copy, convert to u16 */
        for (i = 0; i < num_meters; i++)
-               levels[i] = resp[i];
+               levels[i] = le32_to_cpu(resp[i]);
 
        return 0;
 }