#7303 BLOC 8.2.0 (: Libertas disconnects on resume with testing/master kernels.

Zarro Boogs per Child bugtracker at laptop.org
Mon Jun 30 20:55:55 EDT 2008


#7303: Libertas disconnects on resume with testing/master kernels.
--------------------------+-------------------------------------------------
   Reporter:  cjb         |       Owner:  jcardona            
       Type:  defect      |      Status:  closed              
   Priority:  blocker     |   Milestone:  8.2.0 (was Update.2)
  Component:  wireless    |     Version:  Update.1            
 Resolution:  worksforme  |    Keywords:  8.2.0:?             
Next_action:  never set   |    Verified:  0                   
  Blockedby:              |    Blocking:  7383                
--------------------------+-------------------------------------------------
Changes (by andrey):

  * status:  assigned => closed
  * resolution:  => worksforme


Comment:

 It looks like the problem is that we're not asking for USB persistence for
 our device and in persistence mode our .resume hook wouldn't be called,
 instead .post_reset or .reset_resume are used.  First, confirm that
 'persist' isn't set, for example:

 {{{
 cd /sys
 find -name persist
 cat ./devices/pci0000:00/0000:00:0f.5/usb2/2-1/power/persist
 0
 }}}

 Looking at how persistence is done in USB mass storage, we basically need
 to have our _resume() called (otherwise we get reset).  The following
 patch works for me:

 {{{
 --- a/drivers/net/wireless/libertas/if_usb.c
 +++ b/drivers/net/wireless/libertas/if_usb.c
 @@ -962,6 +962,8 @@ static struct usb_driver if_usb_driver = {
         .id_table = if_usb_table,
         .suspend = if_usb_suspend,
         .resume = if_usb_resume,
 +       .post_reset = if_usb_resume,
 +       .reset_resume = if_usb_resume,
  };
 }}}

 With that patch applied,

 {{{
 echo 1 > ./devices/pci0000:00/0000:00:0f.5/usb2/2-1/power/persist
 echo mem > /sys/power/state
 }}}

 Press a key or otherwise cause the XO to resume and note that we don't
 attempt to reload the firmware and our device didn't get reset.

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


More information about the Bugs mailing list