# HG changeset patch
# User Martin Troxler <ch1010277@ch10pc446>
# Date 1287390657 -7200
# Node ID b369f3f92eb8b7a41a3d77fd5594d217a7cca299
# Parent  78229bd38928b97023df633bb18b2449f306b070
 Inplace I/O: prevent pairing with already paired fmmus

diff -r 78229bd38928 -r b369f3f92eb8 master/slave_config.c
--- a/master/slave_config.c	Fri Jul 23 17:06:12 2010 +0200
+++ b/master/slave_config.c	Mon Oct 18 10:30:57 2010 +0200
@@ -188,7 +188,9 @@
     tx_size = fmmu->data_size;
     if (sc->allow_overlapping_pdos && sc->used_fmmus > 0) {
         prev_fmmu = &sc->fmmu_configs[sc->used_fmmus-1];
-        if (fmmu->dir != prev_fmmu->dir) {
+        if (fmmu->dir != prev_fmmu->dir && prev_fmmu->tx_size != 0) {
+            // prev fmmu has opposite direction
+            // and is not already paired with prev-prev fmmu
             prev_fmmu->tx_size = max(fmmu->data_size,prev_fmmu->data_size);
             tx_size = 0;
             fmmu_logical_start_address = prev_fmmu->logical_start_address;