On Mon, 2007-10-29 at 12:07 -0400, Jeff Garzik wrote:
OK, take me through it slowly then ... I think schedule_work(work)
inserts work->entry onto the workqueue list (in
workqueue.c:insert_work()). If the event hasn't fired, it will already
be on the list, so adding the same entry to a list twice causes a list
corruption problem.
Plus, unfortunately, the CC/UA events are going to have to carry extra
sense data; they're not simply going to be triggers saying something
happened.
James
-