Commit 5195f323 authored by Takashi Iwai's avatar Takashi Iwai Committed by Kleber Sacilotto de Souza

ALSA: cs5535audio: Fix invalid endian conversion

BugLink: https://bugs.launchpad.net/bugs/1792340

commit 69756930 upstream.

One place in cs5535audio_build_dma_packets() does an extra conversion
via cpu_to_le32(); namely jmpprd_addr is passed to setup_prd() ops,
which writes the value via cs_writel().  That is, the callback does
the conversion by itself, and we don't need to convert beforehand.

This patch fixes that bogus conversion.

Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarStefan Bader <stefan.bader@canonical.com>
Signed-off-by: default avatarKleber Sacilotto de Souza <kleber.souza@canonical.com>
parent 34d56fab
...@@ -66,9 +66,9 @@ struct cs5535audio_dma_ops { ...@@ -66,9 +66,9 @@ struct cs5535audio_dma_ops {
}; };
struct cs5535audio_dma_desc { struct cs5535audio_dma_desc {
u32 addr; __le32 addr;
u16 size; __le16 size;
u16 ctlreserved; __le16 ctlreserved;
}; };
struct cs5535audio_dma { struct cs5535audio_dma {
......
...@@ -158,8 +158,8 @@ static int cs5535audio_build_dma_packets(struct cs5535audio *cs5535au, ...@@ -158,8 +158,8 @@ static int cs5535audio_build_dma_packets(struct cs5535audio *cs5535au,
lastdesc->addr = cpu_to_le32((u32) dma->desc_buf.addr); lastdesc->addr = cpu_to_le32((u32) dma->desc_buf.addr);
lastdesc->size = 0; lastdesc->size = 0;
lastdesc->ctlreserved = cpu_to_le16(PRD_JMP); lastdesc->ctlreserved = cpu_to_le16(PRD_JMP);
jmpprd_addr = cpu_to_le32(lastdesc->addr + jmpprd_addr = (u32)dma->desc_buf.addr +
(sizeof(struct cs5535audio_dma_desc)*periods)); sizeof(struct cs5535audio_dma_desc) * periods;
dma->substream = substream; dma->substream = substream;
dma->period_bytes = period_bytes; dma->period_bytes = period_bytes;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment