#1757 NORM Untriag: EC communication liable to deadlock.
Zarro Boogs per Child
bugtracker at laptop.org
Tue Jun 19 03:49:24 EDT 2007
#1757: EC communication liable to deadlock.
--------------------+-------------------------------------------------------
Reporter: dwmw2 | Owner: jg
Type: defect | Status: new
Priority: normal | Milestone: Untriaged
Component: distro | Version:
Keywords: | Verified: 0
--------------------+-------------------------------------------------------
In the olpc_ec_cmd() function we lock the 'ec_lock' spinlock.
Then we can take an IRQ. It could be an SCI.
We could call back into olpc_ec_cmd() to query the EC about the cause of
the SCI.
We'll try to lock the ec_lock spinlock again.
We'll fail.
While I'm looking at it... when olpc_pm_interrupt() detects an SCI, it
first processes the queue, then clears the edge-detected status of the
GPIO pin. But what if another SCI happens between those two events? Don't
we miss it? Why is this edge-triggered anyway? Everything should be level-
triggered, surely?
--
Ticket URL: <http://dev.laptop.org/ticket/1757>
One Laptop Per Child <http://laptop.org/>
More information about the Bugs
mailing list