On Wed, Jan 11, 2017 at 4:41 PM, Tony Lindgren <tony@xxxxxxxxxxx> wrote: > From: Liam Breck <kernel@xxxxxxxxxxxxxxxxx> > > Caching the fault register after a single read may not keep an accurate > value. > > Fix the issue by doing two reads of the fault register as specified in the > data sheet. And let's do this only irq_handle_thread() to avoid accidentally > clearing the fault status as specified in the data sheet: > > "When a fault occurs, the charger device sends out INT > and keeps the fault state in REG09 until the host reads the fault register. > Before the host reads REG09 and all the faults are cleared, the charger > device would not send any INT upon new faults. In order to read the > current fault status, the host has to read REG09 two times consecutively. > The 1st reads fault register status from the last read [1] and the 2nd reads > the current fault register status." > > [1] presumably a typo; should be "last fault" > > Fixes: d7bf353fd0aa3 ("bq24190_charger: Add support for TI BQ24190 Battery > Charger") > Cc: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> > Cc: Matt Ranostay <matt@ranostay.consulting> > Signed-off-by: Liam Breck <kernel@xxxxxxxxxxxxxxxxx> > [tony@xxxxxxxxxxx: cleaned up a bit] > Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> > --- > drivers/power/supply/bq24190_charger.c | 99 ++++++++++------------------------ > 1 file changed, 29 insertions(+), 70 deletions(-) This got a bit mangled in transition, and the fix will prevent the following patches from applying. I'll post a fix shortly. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html