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;