This says to me that we need 2 new (hub driver) functions
(or 2 variants of one new function):

  usb_suspend_device(struct usb_device *dev);
  usb_resume_device(struct usb_device *dev); /* or unsuspend ? */

that is similar to usb_reset_device() except for the
command that is sent to the device [new function
sends a SetPortFeature(USB_PORT_FEAT_SUSPEND) or
ClearPortFeature(USB_PORT_FEAT_SUSPEND) to the
device's parent (hub) port] and does not do the

  usb_disconnect(&dev);
  usb_hub_port_connect_change(parent, 1);

Does that sound right?  Matt, would you use this?

~Randy


> -----Original Message-----
> From: Pat LaVarre [mailto:[EMAIL PROTECTED]]
> Sent: Friday, May 05, 2000 5:58 PM
> To: [EMAIL PROTECTED]
> Subject: [linux-usb] Usb Mass resets, distinguished
> 
> 
> > ... For some reason, detaching and re-attaching my [Usb Mass device]
> > doesn't always reset ... state.  I sometimes have to eject the disk
> > and power cycle ...
> 
> I hear the typical reset priorities for a Usb Mass device 
> from least to greatest are:
> 
>       suspend (means power cycle if bus-powered)
>       class-specific reset
>       vendor-specific forms of reset
>       port reset (means power cycle if bus-powered)
>       power cycle
> 
> That these resets are not equivalent is a fact of life, 
> driven to more or less prominence by anything that looks like 
> a cache: head position, self-powered RAM, speed-matching 
> FIFOs, mode pages, defect management, user-level 
> write-cacheing, you name it.
> 
> That these resets are not equally effective is a mark of 
> imperfection wherever that's true.  To my eye, the demos most 
> likely to provoke action are demos of forms of reset that can 
> be demoed ineffective either in the latest idProduct for an 
> idVendor or across more than one idProduct of an idVendor ... 
> I wonder if anybody has such demos in place?
> 
> 
> x4402 Pat LaVarre of iOmega   [EMAIL PROTECTED]   
http://members.aol.com/ppaatt/


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to