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
