equal
deleted
inserted
replaced
595 return; |
595 return; |
596 } |
596 } |
597 |
597 |
598 error_flag = (EC_READ_U8(data) >> 4) & 1; |
598 error_flag = (EC_READ_U8(data) >> 4) & 1; |
599 if (error_flag) { |
599 if (error_flag) { |
600 req->error_code = EC_READ_U16(data + rec_size - 2); |
600 if (rec_size < EC_SOE_WRITE_RESPONSE_SIZE + 2) { |
601 EC_ERR("Received error response: 0x%04x.\n", |
601 EC_ERR("Received corrupted error response - error flag set," |
602 req->error_code); |
602 " but received size is %zu.\n", rec_size); |
603 fsm->state = ec_fsm_soe_error; |
603 } else { |
|
604 req->error_code = EC_READ_U16(data + EC_SOE_WRITE_RESPONSE_SIZE); |
|
605 EC_ERR("Received error response: 0x%04x.\n", |
|
606 req->error_code); |
|
607 } |
|
608 ec_print_data(data, rec_size); |
|
609 fsm->state = ec_fsm_soe_error; |
604 return; |
610 return; |
605 } else { |
611 } else { |
606 req->error_code = 0x0000; |
612 req->error_code = 0x0000; |
607 } |
613 } |
608 |
614 |
609 if (master->debug_level) { |
|
610 EC_DBG("IDN data:\n"); |
|
611 ec_print_data(req->data, req->data_size); |
|
612 } |
|
613 |
|
614 fsm->state = ec_fsm_soe_end; // success |
615 fsm->state = ec_fsm_soe_end; // success |
615 } |
616 } |
616 |
617 |
617 /*****************************************************************************/ |
618 /*****************************************************************************/ |
618 |
619 |