diff -r 14307580deb6 -r 5746fdd1ca2e master/fsm_slave_scan.c --- a/master/fsm_slave_scan.c Thu Jun 12 09:19:06 2008 +0000 +++ b/master/fsm_slave_scan.c Thu Jun 12 09:32:25 2008 +0000 @@ -338,10 +338,10 @@ } dl_status = EC_READ_U16(datagram->data); - for (i = 0; i < 4; i++) { - slave->dl_link[i] = dl_status & (1 << (4 + i)) ? 1 : 0; - slave->dl_loop[i] = dl_status & (1 << (8 + i * 2)) ? 1 : 0; - slave->dl_signal[i] = dl_status & (1 << (9 + i * 2)) ? 1 : 0; + for (i = 0; i < EC_SLAVE_MAX_PORTS; i++) { + slave->ports[i].dl_link = dl_status & (1 << (4 + i)) ? 1 : 0; + slave->ports[i].dl_loop = dl_status & (1 << (8 + i * 2)) ? 1 : 0; + slave->ports[i].dl_signal = dl_status & (1 << (9 + i * 2)) ? 1 : 0; } // Start fetching SII size