if (!xprt_test_and_set_connecting(xprt)) { if (xprt->sock != NULL) { dprintk("RPC:      xs_connect delayed xprt %p\n", xprt); schedule_delayed_work(&xprt->connect_worker,
if (xprt_test_and_set_connecting(xprt)) return;  if (xprt->sock != NULL) { dprintk("RPC:      xs_connect delayed xprt %p\n", xprt); schedule_delayed_work(&xprt->connect_worker,
static void xs_connect(struct rpc_task *task){	struct rpc_xprt *xprt = task->tk_xprt;	if (!xprt_test_and_set_connecting(xprt)) {		if (xprt->sock != NULL) {			dprintk("RPC:      xs_connect delayed xprt %p\n", xprt);			schedule_delayed_work(&xprt->connect_worker,					RPC_REESTABLISH_TIMEOUT);		} else {			dprintk("RPC:      xs_connect scheduled xprt %p\n", xprt);			schedule_work(&xprt->connect_worker);			/* flush_scheduled_work can sleep... */			if (!RPC_IS_ASYNC(task))				flush_scheduled_work();		}	}}