View Single Post
Posts: 1,680 | Thanked: 3,685 times | Joined on Jan 2011
#1118
...basically this patch seems to allow two processes access the same register in same chip on same I2C bus concurrently, which can never work but is happening rarely but definitely *will* happen eventually. This can cause any arbitrary problem, from garbled transmission on I2C bus causing chip malfunctions and breakage, to kernel panics or whatever...
joerg_w here explains the reasoning behind the problem with the I2C patch. While I do understand where he is coming from I am unconvinced that a multi-read or multi write operation being performed by a process would have a 'relinquish to scheduler' in the middle of writing/reading multiple bytes on the I2C bus. Well, I certainly wouldn't but fck knows what happens inside bme, in addition to this joerg_w does know what he is talking about.

How would you identify a confirmed case of I2C collision? A random reeboot here? A funny battery percent for a couple of seconds there? The fact is, there could be collisions occurring more often than we think.

What I would like is for battery charging to be taken over by either bq module (perhaps not the right place) or some replacement for BME. Apart from handling charging and updating HAL with some erroneous data it doesn't really do much else that I can want.
__________________
N900: One of God's own prototypes. A high-powered mutant of some kind never even considered for mass production. Too weird to live, and too rare to die.

Last edited by vi_; 2011-07-29 at 10:43.
 

The Following 2 Users Say Thank You to vi_ For This Useful Post: