[alsa-devel] [PATCH] ALSA: dice: fix wrong offsets for Dice interface
Takashi Iwai
tiwai at suse.de
Sun Mar 1 10:50:56 CET 2015
At Sun, 1 Mar 2015 18:12:16 +0900,
Takashi Sakamoto wrote:
>
> For received packet stream, the offset of 'RX_SEQ_START' locates after
> the offset of 'RX_NUMBER_MIDI', although current macro and proc output
> includes wrong offsets.
>
> Fortunately, this bug doesn't affect streaming functionality because
> these macro is not used.
>
> This commit fixes these wrong macro and outputs.
>
> Signed-off-by: Takashi Sakamoto <o-takashi at sakamocchi.jp>
Applied, thanks.
Takashi
> ---
> sound/firewire/dice/dice-interface.h | 18 +++++++++---------
> sound/firewire/dice/dice-proc.c | 4 ++--
> 2 files changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/sound/firewire/dice/dice-interface.h b/sound/firewire/dice/dice-interface.h
> index 27b044f..de7602b 100644
> --- a/sound/firewire/dice/dice-interface.h
> +++ b/sound/firewire/dice/dice-interface.h
> @@ -299,23 +299,23 @@
> #define RX_ISOCHRONOUS 0x008
>
> /*
> - * Index of first quadlet to be interpreted; read/write. If > 0, that many
> - * quadlets at the beginning of each data block will be ignored, and all the
> - * audio and MIDI quadlets will follow.
> - */
> -#define RX_SEQ_START 0x00c
> -
> -/*
> * The number of audio channels; read-only. There will be one quadlet per
> * channel.
> */
> -#define RX_NUMBER_AUDIO 0x010
> +#define RX_NUMBER_AUDIO 0x00c
>
> /*
> * The number of MIDI ports, 0-8; read-only. If > 0, there will be one
> * additional quadlet in each data block, following the audio quadlets.
> */
> -#define RX_NUMBER_MIDI 0x014
> +#define RX_NUMBER_MIDI 0x010
> +
> +/*
> + * Index of first quadlet to be interpreted; read/write. If > 0, that many
> + * quadlets at the beginning of each data block will be ignored, and all the
> + * audio and MIDI quadlets will follow.
> + */
> +#define RX_SEQ_START 0x014
>
> /*
> * Names of all audio channels; read-only. Quadlets are byte-swapped. Names
> diff --git a/sound/firewire/dice/dice-proc.c b/sound/firewire/dice/dice-proc.c
> index f5c1d1b..ecfe20f 100644
> --- a/sound/firewire/dice/dice-proc.c
> +++ b/sound/firewire/dice/dice-proc.c
> @@ -99,9 +99,9 @@ static void dice_proc_read(struct snd_info_entry *entry,
> } tx;
> struct {
> u32 iso;
> - u32 seq_start;
> u32 number_audio;
> u32 number_midi;
> + u32 seq_start;
> char names[RX_NAMES_SIZE];
> u32 ac3_caps;
> u32 ac3_enable;
> @@ -204,10 +204,10 @@ static void dice_proc_read(struct snd_info_entry *entry,
> break;
> snd_iprintf(buffer, "rx %u:\n", stream);
> snd_iprintf(buffer, " iso channel: %d\n", (int)buf.rx.iso);
> - snd_iprintf(buffer, " sequence start: %u\n", buf.rx.seq_start);
> snd_iprintf(buffer, " audio channels: %u\n",
> buf.rx.number_audio);
> snd_iprintf(buffer, " midi ports: %u\n", buf.rx.number_midi);
> + snd_iprintf(buffer, " sequence start: %u\n", buf.rx.seq_start);
> if (quadlets >= 68) {
> dice_proc_fixup_string(buf.rx.names, RX_NAMES_SIZE);
> snd_iprintf(buffer, " names: %s\n", buf.rx.names);
> --
> 2.1.0
>
More information about the Alsa-devel
mailing list