On Thu, 26 Feb 2004 02:29:26 -0500 Jeff Garzik <jgarzik@xxxxxxxxx> wrote:2) num_req_outstanding accessed without lock in do_viodasd_request (driver's request_fn). all other accesses are inside spinlock.
This is actually OK because:
1) if we see a value too large, when it get decremented by
handle_read_write, all the queue requst functions will get rerun.
2) in send_request, if we get an error and decrement the count
to zero, then the count could have been at most 1 (sonce sends
are serialised) so in the request funtion, we would not have
stopped processing requests.
5) is it really OK to call viodasd_open() and viodasd_release() multiple times? These functions do not look guarded against multiple openers.
It is OK.