# HG changeset patch
# User Florian Pose <fp@igh-essen.com>
# Date 1285162903 -7200
# Node ID c6e6ec6ba5d85338e5e3c3585601dcf38f24ed1e
# Parent  9327c261056fd8b52ee8ed405c958acdd9138532# Parent  7dceb43bd855f88f1cdea34ac0a93d125455f58f
merge.

diff -r 9327c261056f -r c6e6ec6ba5d8 master/fsm_sii.c
--- a/master/fsm_sii.c	Tue Sep 21 14:20:23 2010 +0200
+++ b/master/fsm_sii.c	Wed Sep 22 15:41:43 2010 +0200
@@ -184,7 +184,8 @@
     EC_WRITE_U16(datagram->data + 2, fsm->word_offset);
 
 #ifdef SII_DEBUG
-    EC_SLAVE_DBG(slave, 0, "reading SII data:\n");
+    EC_SLAVE_DBG(fsm->slave, 0, "reading SII data, word %u:\n",
+            fsm->word_offset);
     ec_print_data(datagram->data, 4);
 #endif
 
diff -r 9327c261056f -r c6e6ec6ba5d8 master/fsm_slave_scan.c
--- a/master/fsm_slave_scan.c	Tue Sep 21 14:20:23 2010 +0200
+++ b/master/fsm_slave_scan.c	Wed Sep 22 15:41:43 2010 +0200
@@ -505,8 +505,10 @@
         fsm->slave->error_flag = 1;
         fsm->state = ec_fsm_slave_scan_state_error;
         EC_SLAVE_ERR(slave, "Failed to determine SII content size:"
-                " Reading word offset 0x%04x failed.\n", fsm->sii_offset);
-        return;
+                " Reading word offset 0x%04x failed. Assuming %u words.\n",
+                fsm->sii_offset, EC_FIRST_SII_CATEGORY_OFFSET);
+        slave->sii_nwords = EC_FIRST_SII_CATEGORY_OFFSET;
+        goto alloc_sii;
     }
 
     cat_type = EC_READ_U16(fsm->fsm_sii.value);