Hi Tony, > Am 29.04.2020 um 23:38 schrieb Tony Lindgren <tony@xxxxxxxxxxx>: > > * H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> [200429 21:35]: >> I have reworked the way the spinlocks, setting and resetting >> of the hdq_irqstatus bits are done and now it works right from >> start of boot. Without any timeouts or delays. >> >> I am not exactly sure what went wrong, but it seems as if >> the read is already done when the write interrupt status >> bit is processed. Then, the old logic did wipe out both >> bits by hdq_reset_irqstatus() and the read code did timeout >> because it did not notice that the data had already been >> available. This may depend on other system activities so >> that it can explain why other tests didn't reveal it. >> >> omap_hdq_runtime_resume() and omap_hdq_runtime_suspend() >> also behave fine. >> >> Before I can post something I need to clean up my hacks >> and add similar fixes to omap_hdq_break() and omap_w1_triplet() >> where I hope that I don't break those... > > OK good to hear you were able to figure out what is > going on here. I have found another small bug and a dev_dbg format weakness and now it seems to work well even if I remove or reinsert the battery while read operations are ongoing. Still I need more time to fix up the patch(es). BR and thanks, Nikolaus