Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 153643
b: refs/heads/master
c: e9f0298
h: refs/heads/master
i:
  153641: ccc6ca8
  153639: b17fdff
v: v3
  • Loading branch information
Ricardo Labiaga authored and Trond Myklebust committed Jun 20, 2009
1 parent a60f030 commit fa80e04
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 578e4585685410cacd1a4ac86b7e3c12805be918
refs/heads/master: e9f029855865e917821ef6034b31e340a4cfc815
7 changes: 5 additions & 2 deletions trunk/net/sunrpc/backchannel_rqst.c
Original file line number Diff line number Diff line change
Expand Up @@ -211,22 +211,25 @@ EXPORT_SYMBOL(xprt_destroy_backchannel);
* has been preallocated as well. Use xprt_alloc_bc_request to allocate
* to this request. Use xprt_free_bc_request to return it.
*
* We know that we're called in soft interrupt context, grab the spin_lock
* since there is no need to grab the bottom half spin_lock.
*
* Return an available rpc_rqst, otherwise NULL if non are available.
*/
struct rpc_rqst *xprt_alloc_bc_request(struct rpc_xprt *xprt)
{
struct rpc_rqst *req;

dprintk("RPC: allocate a backchannel request\n");
spin_lock_bh(&xprt->bc_pa_lock);
spin_lock(&xprt->bc_pa_lock);
if (!list_empty(&xprt->bc_pa_list)) {
req = list_first_entry(&xprt->bc_pa_list, struct rpc_rqst,
rq_bc_pa_list);
list_del(&req->rq_bc_pa_list);
} else {
req = NULL;
}
spin_unlock_bh(&xprt->bc_pa_lock);
spin_unlock(&xprt->bc_pa_lock);

if (req != NULL) {
set_bit(RPC_BC_PA_IN_USE, &req->rq_bc_pa_state);
Expand Down

0 comments on commit fa80e04

Please sign in to comment.