> -----Original Message-----
> From: Diego Dompe [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, July 27, 2004 2:42 PM
> To: Alan Stern
>
> > What do you think about the problem of stalling the bulk-out
> endpoint when
> > the host sends too much data?  Maybe this hasn't caused you any
> > difficulty yet.  The problem is that there's a race.  If we call
> > fsg_set_halt() after the host has finished sending all its
> data, then the
> > host won't see the stalled endpoint and so it won't clear the halt.  My
> > feeling is that fsg should always use the "no-stall" option for
> data-out
> > transfers, how do you feel?

Since there is a race condition, I would recommend changing the code where
the race condition occurs to get rid of it forever.  Using the no-stall
option my cause reasonable use of stall to be disabled as well.

Also, on the Linux 2.4 driver, it stopped working when I used no-stall (I
never tracked down where the problem was - could easily have been in the udc
driver being developed).

In the Linux 2.6 case, I had to change the code it two places to get it to
work.  One change I understand (the above mentioned race condition) and the
other change seems odd (like the change is masking a problem in the udc
driver).

Both changes are in finish_reply() routine and change involves the if
condition going from (mod_data.can_stall) and changing to (0).  The first
change is in the DATA_DIR_FROM_HOST case statement and other second one is
in DATA_DIR_TO_HOST case statement.  Clearly changing the if condition to
(0) was just a simple test.  The correct solution would be to remove the
unused code.

Given my understanding of the race condition, the DATA_DIR_TO_HOST case
should be fine.  I don't think that code path needs to be modified.  We are
currently focused on getting the udc operational, so I haven't dug into the
problem deeper.  Once the udc driver is working correctly, I expect some of
the other strange behavior will disappear.

Todd





-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to