Hi, For some reason David's email address bounces: dbarksdale <dbarksdale@xxxxxxxxxxx> He was the original author of this chip driver. If anyone can help me to grab his attention that would be awesome. Thanks! Andrew On 2/20/20, Andrew James <andrew.james8710@xxxxxxxxx> wrote: > Hi David, > > I found a problem with the driver. In this situation, the SDA line is > stuck low, but never clears, until cold rebooted. > > I am using the CP2112 as a USB-to-I2C adapter with two slave devices. > Kernel version is 4.9.88. CP2112 silicon revision is F03. > > From userspace, if I ctrl+c (^c) the output of the device file of one > of the slaves, this occurs: > > [ 110.877415] cp2112 0003:10C4:EA90.0001: Transfer timed out, cancelling. > [ 111.909193] cp2112 0003:10C4:EA90.0001: Transfer timed out, cancelling. > [ 112.941004] cp2112 0003:10C4:EA90.0001: Transfer timed out, cancelling. > [ 113.973812] cp2112 0003:10C4:EA90.0001: Transfer timed out, cancelling. > [ 115.005627] cp2112 0003:10C4:EA90.0001: Transfer timed out, cancelling. > [ 116.037474] cp2112 0003:10C4:EA90.0001: Transfer timed out, cancelling. > [ 117.068261] cp2112 0003:10C4:EA90.0001: Transfer timed out, cancelling. > [ 118.100093] cp2112 0003:10C4:EA90.0001: Transfer timed out, cancelling. > > > The log message continues indefinitely; the clock is stuck high and > the data line is stuck low. > > When we swap to a different I2C adapter in hardware, the bus lockup no > longer occurs. > > Is there a modification I can make to the driver so that it can clear > the bus, or recover the CP2112? I can forward some I2C traces if > needed. > > Andrew >