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);