ASoC: sigmadsp: Fix endianness conversion issue
Lars-Peter Clausen [Fri, 7 Dec 2012 17:30:51 +0000 (18:30 +0100)]
commit a3adb1432d7a3ad86bb17a1638e44414537e4118 upstream.

The 'addr' field of the sigma_action struct is stored as big endian in the
firmware file.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

sound/soc/codecs/sigmadsp.c

index 5be42bf..4068f24 100644 (file)
@@ -225,7 +225,7 @@ EXPORT_SYMBOL(process_sigma_firmware);
 static int sigma_action_write_regmap(void *control_data,
        const struct sigma_action *sa, size_t len)
 {
-       return regmap_raw_write(control_data, le16_to_cpu(sa->addr),
+       return regmap_raw_write(control_data, be16_to_cpu(sa->addr),
                sa->payload, len - 2);
 }