Re: [linux-usb-devel] Resetting multiple-interface devices

2006-01-18 Thread Alan Stern
On Wed, 18 Jan 2006, Oliver Neukum wrote: > What do you do if a second reset is requested while the first is in progress? > Silently merge them? It can't happen. A driver has to hold the usb_device's semaphore before it can request a reset. In fact, it would be a good idea to add a utility rou

Re: [linux-usb-devel] Resetting multiple-interface devices

2006-01-18 Thread Oliver Neukum
Am Mittwoch, 18. Januar 2006 16:07 schrieb Alan Stern: > On Tue, 17 Jan 2006, Pete Zaitcev wrote: > > > The two-signal reset bothers me too, because it has to interact well > > with actual disconnect, and generally I do not like this sort of thing. > > There is a potential problem with actual dis

Re: [linux-usb-devel] Resetting multiple-interface devices

2006-01-18 Thread Alan Stern
On Tue, 17 Jan 2006, Pete Zaitcev wrote: > The two-signal reset bothers me too, because it has to interact well > with actual disconnect, and generally I do not like this sort of thing. There is a potential problem with actual disconnect occurring in the middle of a reset sequence. I think the o

Re: [linux-usb-devel] Resetting multiple-interface devices

2006-01-17 Thread Oliver Neukum
Am Dienstag, 17. Januar 2006 21:54 schrieb Pete Zaitcev: > On Tue, 17 Jan 2006 15:34:33 +0100, Oliver Neukum <[EMAIL PROTECTED]> wrote: > > > There's a certain danger of getting a reset followed by a secondary reset > > as an error treatment, followed by ... Could you do a real disconnect in > > t

Re: [linux-usb-devel] Resetting multiple-interface devices

2006-01-17 Thread Pete Zaitcev
On Tue, 17 Jan 2006 15:34:33 +0100, Oliver Neukum <[EMAIL PROTECTED]> wrote: > There's a certain danger of getting a reset followed by a secondary reset > as an error treatment, followed by ... Could you do a real disconnect in > theses cases? The semantics of a disconnect are different, because

Re: [linux-usb-devel] Resetting multiple-interface devices

2006-01-17 Thread Alan Stern
On Tue, 17 Jan 2006, Oliver Neukum wrote: > > My idea is to add a new method to struct usb_driver, something like > > > > void(*reset_notify)(struct usb_interface *intf, int after); > > > > The core would call this routine for each interface before the reset with > > after set to 0, and

Re: [linux-usb-devel] Resetting multiple-interface devices

2006-01-17 Thread Oliver Neukum
Am Montag, 16. Januar 2006 17:21 schrieb Alan Stern: > Well, it has happened at last, just as Oliver predicted. A user has a > Western Digital USB disk drive with an extra HID interface tacked on, the > drive encounters data transmission errors, and usb-storage skips doing a > port reset becaus