> > 2006/1/2, Alan Stern <[EMAIL PROTECTED]>:
> >
> > I put in my "resume detect" interrupt handler :
> >
> >         if (hcd->state == HC_STATE_SUSPENDED)
> >                 usb_hcd_resume_root_hub(hcd);
> >
> > Is that correct ?
>
> It's correct if and only if hcd->state behaves properly.  Note that
> hcd->state can be set by code outside of your driver, so it's not totally
> reliable.
>

I actually did:

         if (hcd->state == HC_STATE_SUSPENDED)
                 usb_hcd_resume_root_hub(hcd);
         else
                 usb_hcd_poll_rh_status(hcd);

Anyways I noticed something weird when testing remote wakeup. I
plugged a mouse and then suspend it through sysfs:

    $ echo -n 3 > /sys/bus/usb/devices/.../power/state
    $ cat /sys/bus/usb/devices/.../power/state
    3

mouse is suspended. I push on one of its buttons to remote wakeup the
device. The device is woken up but if I look at the state in sysfs,
it's still suspended:

    $ cat /sys/bus/usb/devices/.../power/state
    3

Am I missing something ?

Thanks
--
               Franck


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_idv37&alloc_id865&op=click
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to