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 _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel