I think this is more information than a question. I am using an MSP430F2619 with the I2C protocol. I have USCI B1 setup for single master mode, and there is a single slave. In a case where the I2C communications fail, subsequent communications fail no matter what the slave does.
This is inline with USCI25, which states "TXIFG is not reset when NACK is received in I2C mode. When the USCI_B module is configured as an I2C master transmitter the TXIFG is not reset after a NACK is received if the master is configured to send a restart (UCTXSTT=1 & UCTXSTP=0). Workaround Reset TXIFG in software within the NACKIFG interrupt service routine."
I implemented the workaround and the I2C still did not recover properly. What I observed through the debugger is that if a NACK was received in the above conditions, then the UCTXSTT and UCTXSTP bits were not cleared. Upone reentry to run the I2C, the subsequent sequences were ignored and the module would not send or receive any data, including the slave address.
I added a line that clears the start and stop bits along with the TXIFG. After doing this, the I2C communications properly recovers and works the next time it is used. I am not sure if this is a different erratum or along the same erratum as USCI25, but that is what I observed and what I did to workaround it.
P.S. All flags are polled. There are no interrupts for the I2C communications.