On Thu, 17 Jun 2004, Todd Fischer wrote:

> Hi,
> 
> The bulk-only mass storage reset class-specific request isn't working right
> for me.
> 
> In looking though file_storage.c I have found several places where a
> variable is set to the value of DELAYED_STATUS, but nowhere do I see code
> that checks for that value.
> 
> After file_storage.c recognizes the mass storage reset class-specific
> request (near line 1260 in the 2.4 version) the code returns a positive
> value (DELAYED_STATUS) to the controller driver and does a
> 
> raise_expection(fsg, FSG_STATE_RESET);
> 
> After the reset, file_storage.c needs to queue a packet to EP0 so the
> controller driver can ACK the bulk-only mass storage reset class-specific
> request.  I can't find the code that is suppose to do this.  What am I
> missing?
> 
> Todd Fischer

The code that sends the ACK doesn't rely on the DELAYED_STATUS value, 
which is probably why you missed it.  DELAYED_STATUS really just means 
that the fsg_setup() routine shouldn't send a status ACK right away.

The acknowledgment is sent in the handle_exception() routine.  Look in the 
section starting with the case label FSG_STATE_RESET.  If 
transport_is_bbb() is true -- which it is for you -- the code calls 
ep0_queue().  That's around line 3436 in the 2.4 version.

Alan Stern



-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to