Re: [PATCH] ALSA: usb-audio: Fix missing endian conversion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 23, 2018 at 9:24 PM, Takashi Iwai <tiwai@xxxxxxx> wrote:
>
> The UAC2 jack detection support introduced the bmControls checks in a
> couple of places, but they forgot the endian conversion; the
> bmControls of UAC2 terminal descriptor is __le16, not a byte like in
> UAC1.
>
> Fixes: 5a222e849452 ("ALSA: usb-audio: UAC2 jack detection")
> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
Tested-by: Andrew Chant <achant@xxxxxxxxxx>
>
> ---
>  sound/usb/mixer.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
> index 301ad61ed426..f78b500b3c0e 100644
> --- a/sound/usb/mixer.c
> +++ b/sound/usb/mixer.c
> @@ -1859,7 +1859,7 @@ static int parse_audio_input_terminal(struct mixer_build *state, int unitid,
>         check_input_term(state, d->bTerminalID, &iterm);
>         if (state->mixer->protocol == UAC_VERSION_2) {
>                 /* Check for jack detection. */
> -               if (uac_v2v3_control_is_readable(d->bmControls,
> +               if (uac_v2v3_control_is_readable(le16_to_cpu(d->bmControls),
>                                                  UAC2_TE_CONNECTOR)) {
>                         build_connector_control(state, &iterm, true);
>                 }
> @@ -2561,7 +2561,7 @@ static int snd_usb_mixer_controls(struct usb_mixer_interface *mixer)
>                         if (err < 0 && err != -EINVAL)
>                                 return err;
>
> -                       if (uac_v2v3_control_is_readable(desc->bmControls,
> +                       if (uac_v2v3_control_is_readable(le16_to_cpu(desc->bmControls),
>                                                          UAC2_TE_CONNECTOR)) {
>                                 build_connector_control(&state, &state.oterm,
>                                                         false);
> --
> 2.16.3
>

Tests fine, thank you.  Did you intentionally leave the
UAC2_CS_CONTROL_CLOCK_VALID reading at line 1575 for another patch?
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux