#10568 LOW 11.3.0: XO-1 graphical boot hangs if SISUSB VGA adapter attached

Zarro Boogs per Child bugtracker at laptop.org
Thu Jul 28 11:04:08 EDT 2011


#10568: XO-1 graphical boot hangs if SISUSB VGA adapter attached
-----------------------------------+----------------------------------------
           Reporter:  greenfeld    |       Owner:  dsd                               
               Type:  defect       |      Status:  new                               
           Priority:  low          |   Milestone:  11.3.0                            
          Component:  initscripts  |     Version:  Development source as of this date
         Resolution:               |    Keywords:                                    
        Next_action:  diagnose     |    Verified:  0                                 
Deployment_affected:               |   Blockedby:                                    
           Blocking:               |  
-----------------------------------+----------------------------------------

Comment(by dsd):

 analysis of the above messages attachment:

 {{{
 (gdb) list *sisusb_init_gfxdevice+0x9fa
 0x3139 is in sisusb_init_gfxdevice
 (drivers/usb/misc/sisusbvga/sisusb.c:1510).
 1505            ret |= WRITEL(ramptr +  4, 0x456789ab);
 1506            ret |= WRITEL(ramptr +  8, 0x89abcdef);
 1507            ret |= WRITEL(ramptr + 12, 0xcdef0123);
 1508            ret |= WRITEL(ramptr + 16, 0x55555555);
 1509            ret |= WRITEL(ramptr + 20, 0x55555555);
 1510            ret |= WRITEL(ramptr + 24, 0xffffffff);
 1511            ret |= WRITEL(ramptr + 28, 0xffffffff);
 1512            ret |= READL(ramptr +  0, &t0);
 1513            ret |= READL(ramptr +  4, &t1);
 1514            ret |= READL(ramptr +  8, &t2);
 (gdb) list *sisusb_send_packet+0x4f
 0x9b5 is in sisusb_send_packet (drivers/usb/misc/sisusbvga/sisusb.c:573).
 568
 569             /* 1. send the packet */
 570             ret = sisusb_send_bulk_msg(sisusb, SISUSB_EP_GFX_OUT, len,
 571                             (char *)packet, NULL, 0,
 &bytes_transferred, 0, 0);
 572
 573             if ((ret == 0) && (len == 6)) {
 574
 575                     /* 2. if packet len == 6, it means we read, so
 wait for 32bit
 576                      *    return value and write it to packet->data
 577                      */
 (gdb) list *sisusb_send_bulk_msg+0x2f6
 0x45a is in sisusb_send_bulk_msg
 (drivers/usb/misc/sisusbvga/sisusb.c:256).
 251             /* Submit URB */
 252             retval = usb_submit_urb(urb, GFP_KERNEL);
 253
 254             /* If OK, and if timeout > 0, wait for completion */
 255             if ((retval == 0) && timeout) {
 256                     wait_event_timeout(sisusb->wait_q,
 257                                        (!(sisusb->urbstatus[index] &
 SU_URB_BUSY)),
 258                                        timeout);
 259                     if (sisusb->urbstatus[index] & SU_URB_BUSY) {
 260                             /* URB timed out... kill it and report
 error */
 }}}

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


More information about the Bugs mailing list