#2621 BLOC Trial-3: wireless suspend/resume failure under high-traffic

Zarro Boogs per Child bugtracker at laptop.org
Thu Aug 9 01:53:33 EDT 2007


#2621: wireless suspend/resume failure under high-traffic
-----------------------+----------------------------------------------------
  Reporter:  marcelo   |       Owner:  rchokshi
      Type:  defect    |      Status:  new     
  Priority:  blocker   |   Milestone:  Trial-3 
 Component:  wireless  |     Version:          
Resolution:            |    Keywords:  power   
  Verified:  0         |  
-----------------------+----------------------------------------------------
Comment (by jcardona):

 Worked on exercising suspend/resume on the device side with minimal
 changes to host controller state.  Could trace all the steps that lead to
 wireless device "hostsleep" state and the transition of the USB stack into
 'unconfigured' state.

 Found problem with one of the state transitions: if wake up traffic
 arrives between the time the hostsleep activate command is received and
 the usb port is suspended that would not stop incoming traffic.  This is
 unlikely to be the cause of #2621 (this would cause an error at a higher
 layer, not the low level USB error that we are dealing with), but I fixed
 it and retest.  Problem still there.

 Marcelot/CosmicPenguin suggested that we use the test mode suspend and
 resume.  We could still see the problem.  Tested twice, once without
 wireless traffic, once while ping-fing from another box.  First time
 failure occurred after 30 successful iterations, the second time after
 just 3.

 Examined the state of the USB stack on the device:  USB_STATE was
 'configured', no errors.  endpoint3 (device to host) was being serviced,
 endpoint2 was not.

 Examined the state of endpoint2... disabled!!  This bit under hardware
 control, the firmware only writes to it to enable it after the endpoint
 had been configured.  The state of the register was different that power-
 on reset .  Endpoint3 was enabled.

 Questions:

  1. What could cause this endpoint to be disabled? (ruled out firmware,
 asked to USB HW engineer from Marvell)

  2. What came first?  endpoint disabled then transaction errors on the
 host or vice versa?

 To answer that, I disabled the bit with the debugger and immediately saw:
 {{{
 # [  192.303255] devpath 1 ep2out 3strikes
 }}}

 Just re-enabling the bit does not recover the endpoint.

-- 
Ticket URL: <https://dev.laptop.org/ticket/2621#comment:13>
One Laptop Per Child <http://laptop.org/>



More information about the Bugs mailing list