Patent ID: 8799545

Claim:
A method for restoring stability to an unstable inter-integrated circuit (I2C) bus, comprising: detecting that a communication error has occurred on the inter-integrated circuit (I2C) bus without knowledge as to whether communication between a bus master and a slave device across the bus is in a read mode or a write mode; placing the bus master in a repair mode in response to the detecting of the communication error, while in the repair mode: stabilizing the slave device should the slave device be operating in a read mode by: cycling a clock line of the inter-integrated circuit (I2C) bus a number of times; and transmitting a stop bit; stabilizing the slave device should the slave device be operating in a write mode by: cycling a clock line of the bus at least one time and up to the number of times until an acknowledgment bit has been received by the bus master; and transmitting a stop bit immediately after the acknowledgment bit has been received by the bus master; and returning the bus to a normal operating state after transmission of the stop bit immediately after the acknowledgment has been received by the bus master.