#4322 NORM Never A: Kernel crash while suspending

Zarro Boogs per Child bugtracker at laptop.org
Tue Oct 23 04:00:24 EDT 2007


#4322: Kernel crash while suspending
---------------------+------------------------------------------------------
  Reporter:  wad     |       Owner:  dilinger      
      Type:  defect  |      Status:  new           
  Priority:  normal  |   Milestone:  Never Assigned
 Component:  distro  |     Version:                
Resolution:          |    Keywords:                
  Verified:  0       |  
---------------------+------------------------------------------------------

Comment(by dilinger):

 I suspect this is a race; we're called from ehci_work:
 {{{

         timer_action_done (ehci, TIMER_IO_WATCHDOG);
         if (ehci->reclaim_ready)
                 end_unlink_async (ehci);
 }}}

 My suspicion is that
  - something sets ehci->reclaim to a valid qh
  - ehci->reclaim_ready = 1
  - ehci_work is called
  - that bit of code checks if ehci->reclaim_ready
  - ..evaluates to true, so we jump to end_unlink_async
  - at this point, something else clears ehci->reclaim (and possibly
 ehci->reclaim_ready)
  - end_unlink_async grabs ehci->reclaim, attempts to deref it, and oopses.

 end_unlink_async should be called w/ ehci->lock held, we need to ensure
 that's happening everywhere.  The other possibility is that reclaim_ready
 is being set without reclaim being filled in..

-- 
Ticket URL: <https://dev.laptop.org/ticket/4322#comment:4>
One Laptop Per Child <https://dev.laptop.org>
OLPC bug tracking system



More information about the Bugs mailing list