#9664 HIGH 1.5-sof: DCON load fails occasionally

Zarro Boogs per Child bugtracker at laptop.org
Wed Jun 9 15:55:51 EDT 2010


#9664: DCON load fails occasionally
---------------------------------------+------------------------------------
           Reporter:  dsd              |       Owner:  wad               
               Type:  defect           |      Status:  reopened          
           Priority:  high             |   Milestone:  1.5-software-later
          Component:  kernel           |     Version:  1.5-B3            
         Resolution:                   |    Keywords:                    
        Next_action:  test in release  |    Verified:  1                 
Deployment_affected:                   |   Blockedby:                    
           Blocking:                   |  
---------------------------------------+------------------------------------
Changes (by pgf):

  * next_action:  design => test in release
  * component:  x window system => kernel


Comment:

 i've commited a fix (0efb4b6a4d991e361716d8560e881db3efefcf4a) which
 doesn't keep the DCON load from failing, but detects that it likely
 failed, and forces a reload.  so there's an extra glitch during the freeze
 (old contents shown briefly, then the new frozen contents). the right
 stuff is shown eventually.

 the symptom is visible on, and the fix applies to, both XO-1.5 and XO-1.

 i reproduce the condition with the following script.  using banner makes
 it easy to see when the fail-to-load happens, since it creates a big
 predictable pattern to observe.  (i run it on a VT.)
 i find that the problem typically reproduces within 100 iterations (i.e. 4
 times through the alphabet) or so.
 {{{
 #!/bin/bash

 alph=( a b c d e f g h i j k l m n o p q r s t u v w x y z )
 i=0

 fillscreen()
 {
         # the banner program comes from a games package on my desktop
         /home/olpc/banner -w 80 ${alph[$((i++))]}
         test $i -ge 26 && i=0
 }

 freeze()
 {
         echo $1 > /sys/devices/platform/dcon/freeze
 }

 trap "freeze 0; exit" 0

 while :
 do
         fillscreen
         sleep .1
         freeze 2
         read a
         freeze 0
 done
 }}}


 (i'm changing the component back to "kernel", though it should arguably be
 "hardware", at least as far as i can tell.)

 this workaround should appear in os126 (or later).

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


More information about the Bugs mailing list