#12101 BLOC 4-softw: cl4: touchpad missing after reboot

Zarro Boogs per Child bugtracker at laptop.org
Wed Feb 13 15:45:00 EST 2013


#12101: cl4: touchpad missing after reboot
------------------------------------+---------------------------------------
           Reporter:  pgf           |       Owner:                                    
               Type:  defect        |      Status:  new                               
           Priority:  blocker       |   Milestone:  4-software                        
          Component:  kernel        |     Version:  Development source as of this date
         Resolution:                |    Keywords:  XO-4, touchpad                    
        Next_action:  add to build  |    Verified:  0                                 
Deployment_affected:                |   Blockedby:                                    
           Blocking:                |  
------------------------------------+---------------------------------------
Changes (by dsd):

  * next_action:  reproduce => add to build


Comment:

 Pretty sure I caught this by changing tactics and looking for Linux
 interference with this GPIO.

 The failure always seems to happen around dcon init time, which happens to
 mess with 5-6 GPIOs. Different ones from the mouse, however these GPIOs
 are organised into big banks, and one register controls a whole bank.

 The linux gpio driver was using a read-modify-write sequence to set gpio
 direction bits (on the whole bank). This was likely racing with the SP
 setting a GPIO direction bit in the same bank at the same time.

 Fixed in arm-3.5 411fb2816d52a1bc630495237156a6f64320c146 : we now use a
 bit-wise scheme to set GPIO direction bits, which doesn't have such race
 conditions associated with it.

 My test unit has survived around 4 hours in a reboot loop without seeing
 the problem - thats more than before. Overnight testing will confirm.

-- 
Ticket URL: <http://dev.laptop.org/ticket/12101#comment:22>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system


More information about the Bugs mailing list