Applied base-0025-Ignore-mailbox-settings-if-corrupted-sii-file
Ignore SII specified mailbox settings if they appear to be from a blank EEPROM.
This commit is contained in:
parent
ba27819221
commit
1267e45bf8
|
|
@ -776,6 +776,23 @@ void ec_fsm_slave_scan_state_sii_data(ec_fsm_slave_scan_t *fsm
|
|||
" Disabling mailbox communication.");
|
||||
}
|
||||
|
||||
// clear mailbox settings if invalid values due to invalid sii file
|
||||
if ((slave->sii.boot_rx_mailbox_offset == 0xFFFF) ||
|
||||
(slave->sii.boot_tx_mailbox_offset == 0xFFFF) ||
|
||||
(slave->sii.std_rx_mailbox_offset == 0xFFFF) ||
|
||||
(slave->sii.std_tx_mailbox_offset == 0xFFFF)) {
|
||||
slave->sii.boot_rx_mailbox_offset = 0;
|
||||
slave->sii.boot_tx_mailbox_offset = 0;
|
||||
slave->sii.boot_rx_mailbox_size = 0;
|
||||
slave->sii.boot_tx_mailbox_size = 0;
|
||||
slave->sii.std_rx_mailbox_offset = 0;
|
||||
slave->sii.std_tx_mailbox_offset = 0;
|
||||
slave->sii.std_rx_mailbox_size = 0;
|
||||
slave->sii.std_tx_mailbox_size = 0;
|
||||
slave->sii.mailbox_protocols = 0;
|
||||
EC_SLAVE_ERR(slave, "Unexpected mailbox offset in SII data.\n");
|
||||
}
|
||||
|
||||
if (slave->sii_nwords == EC_FIRST_SII_CATEGORY_OFFSET) {
|
||||
// sii does not contain category data
|
||||
fsm->state = ec_fsm_slave_scan_state_end;
|
||||
|
|
|
|||
Loading…
Reference in New Issue