#9983 HIGH 1.5-sof: Battery charging has race if EXT power bounces quickly
Zarro Boogs per Child
bugtracker at laptop.org
Wed Jan 13 23:28:20 EST 2010
#9983: Battery charging has race if EXT power bounces quickly
---------------------------------+------------------------------------------
Reporter: rsmith | Owner: rsmith
Type: defect | Status: new
Priority: high | Milestone: 1.5-software-later
Component: embedded controller | Version: not specified
Keywords: | Next_action: code
Verified: 0 | Deployment_affected:
Blockedby: | Blocking:
---------------------------------+------------------------------------------
If the external power bounces quickly then the EC will turn off the IO
controlling the charging mosfet but other parts of the code will fail to
detect the change. Thus the result is that the battery is not getting
charged but the charging LED is enabled and the battery code thinks its
charging.
The core of the problem is that there are several different parts of the
code that frob the charging state and they get out of sync. Each has its
own logic. Fixing this properly where only 1 system makes the charge/no
charge decision will involve a fair bit of refactoring in various parts of
the code. Enough that I don't want to do it so close to mass production.
EC code 1.9.21 contains a workaround of extending the debounce time for
EXT power loss from 120ms to 500ms. In my tests this seems to give enough
time for all parties to decide we lost EXT power.
Ver 1.9.21 also has the charge LED tied to the state of the IO pin for the
mosfet so if the race does still occur at lest the EC wont lie to you.
--
Ticket URL: <http://dev.laptop.org/ticket/9983>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system
More information about the Bugs
mailing list