Hi Ellen, On Mon, 13 Apr 2015 17:11:59 -0700, Ellen Wang wrote: > On a CRC error while using hardware-supported PEC, an additional > error bit is set in the auxiliary status register. If this bit > isn't cleared, all subsequent operations will fail, essentially > hanging the controller. > > The fix is simple: clear the bit at the same time we clear > the error bits in the main status register. > > Signed-off-by: Ellen Wang <ellen@xxxxxxxxxxxxxxxxxxx> > --- > drivers/i2c/busses/i2c-i801.c | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) Thanks for the patch. I noticed the issue over a year ago and wrote a patch on my own, but then couldn't find the time to test it and finally forgot about it :( so I never posted it. You can read it here for reference: http://jdelvare.nerim.net/devel/misc/i2c-i801-07-check-pec-status.patch I am currently working on other matters but I'll look into this ASAP. A quick comparison between our patches suggests that yours only clears the PEC status bit while mine also reports the error properly to the caller, so mine might be a better working base. Maybe you could review and/or test my patch as a replacement of yours? Thanks, -- Jean Delvare SUSE L3 Support -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html