ALSA: firewire-lib: allocate DMA buffer separately
For correct cache coherency on some architectures, DMA buffers must be
allocated in a different cache line than data that is concurrently used
by the CPU.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff --git a/sound/firewire/cmp.c b/sound/firewire/cmp.c
index c992dab..4a37f3a 100644
--- a/sound/firewire/cmp.c
+++ b/sound/firewire/cmp.c
@@ -117,9 +117,12 @@
if (ipcr_index >= (impr & IMPR_PLUGS_MASK))
return -EINVAL;
+ err = fw_iso_resources_init(&c->resources, unit);
+ if (err < 0)
+ return err;
+
c->connected = false;
mutex_init(&c->mutex);
- fw_iso_resources_init(&c->resources, unit);
c->last_pcr_value = cpu_to_be32(0x80000000);
c->pcr_index = ipcr_index;
c->max_speed = (impr & IMPR_SPEED_MASK) >> IMPR_SPEED_SHIFT;