Am Donnerstag, 12. Oktober 2006 23:17 schrieben Sie:
> On Thu, 12 Oct 2006, Oliver Neukum wrote:
>
> > Am Donnerstag, 12. Oktober 2006 19:10 schrieb Alan Stern:
> > > > void hid_close(struct hid_device *hid)
> > > > {
> > > > - if (!--hid->open)
> > > > + if (!--hid->open) {
> > > > usb_kill_urb(hid->urbin);
> > > > + set_bit(HID_IN_IDLE, &hid->iofl);
> > > > + }
> > > > }
> > >
> > > There needs to be a call to usb_autopm_put_interface() here, to balance
> > > the call in hid_open().
> >
> > OK, of course. Please disregard my last remark.
>
> In fact the usb_autpm_{get|put}_interface API is a little clumsy. It
> works okay if you do nothing but suspend on close and resume on open. But
> for anything more substantial it tends to get in the way. If you have any
> ideas for a better approach, let me know.
Favoring the simple approach is good.
> In the end you may be better off manipulating intf->pm_usage_cnt directly.
> That's what I had to do in the hub driver.
>
>
> Oh yes, there's one detail I forgot to mention before. You need to set
> the supports_autosuspend flag in the usb_driver structure (can be done
OK.
> statically) and the needs_remote_wakeup flag in the usb_interface
> structure (must be done during probe).
This is not optimal. I want remote wakeup only while the device is open.
Regards
Oliver
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel