__xprt_lock_write_next(struct rpc_xprt *xprt) 
static void __xprt_lock_write_next(struct rpc_xprt *xprt) 
__xprt_lock_write_next(struct rpc_xprt *xprt){	struct rpc_task *task;	if (test_and_set_bit(XPRT_LOCKED, &xprt->state))		return;	if (!xprt->nocong && RPCXPRT_CONGESTED(xprt))		goto out_unlock;	task = rpc_wake_up_next(&xprt->resend);	if (!task) {		task = rpc_wake_up_next(&xprt->sending);		if (!task)			goto out_unlock;	}	if (xprt->nocong || __xprt_get_cong(xprt, task)) {		struct rpc_rqst *req = task->tk_rqstp;		xprt->snd_task = task;		if (req) {			req->rq_bytes_sent = 0;			req->rq_ntrans++;		}		return;	}out_unlock:	smp_mb__before_clear_bit();	clear_bit(XPRT_LOCKED, &xprt->state);	smp_mb__after_clear_bit();}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/12a804698b29d040b7cdd92e8a44b0e75164dae9/xprt.c/buggy/net/sunrpc/xprt.c