On Friday 05 December 2008, Sergei Shtylyov wrote:
>    Frankly speaking, I'm not seeing how a newly queued request can 
> overwrite anything as it's only started being *at the head of the 
> request queue* (which it won't be unless it's queued onto an already 
> empty queue with the last request has been already done).

The "busy" flag in that case indicates -- in the original code,
at least -- that the "last request has already been done" part
isn't there, regardless of whether the queue is empty.

So queuing a request when list_empty(queue) will always add it
to the queue ... but if "busy" is set, that's all it will do
because some other code is in the middle of doing something.

And trying to make such code defend against intermittent bugs
introduced during completion callbacks like that is a real big
lose.  No fun, and not advised...


_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to