diff options
Diffstat (limited to 'drivers/infiniband/sw/rxe/rxe_queue.c')
| -rw-r--r-- | drivers/infiniband/sw/rxe/rxe_queue.c | 9 | 
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/infiniband/sw/rxe/rxe_queue.c b/drivers/infiniband/sw/rxe/rxe_queue.c index 6e6e023c1b45..a1b283dd2d4c 100644 --- a/drivers/infiniband/sw/rxe/rxe_queue.c +++ b/drivers/infiniband/sw/rxe/rxe_queue.c @@ -151,7 +151,6 @@ int rxe_queue_resize(struct rxe_queue *q, unsigned int *num_elem_p,  	struct rxe_queue *new_q;  	unsigned int num_elem = *num_elem_p;  	int err; -	unsigned long flags = 0, flags1;  	new_q = rxe_queue_init(q->rxe, &num_elem, elem_size, q->type);  	if (!new_q) @@ -165,17 +164,17 @@ int rxe_queue_resize(struct rxe_queue *q, unsigned int *num_elem_p,  		goto err1;  	} -	spin_lock_irqsave(consumer_lock, flags1); +	spin_lock_bh(consumer_lock);  	if (producer_lock) { -		spin_lock_irqsave(producer_lock, flags); +		spin_lock_bh(producer_lock);  		err = resize_finish(q, new_q, num_elem); -		spin_unlock_irqrestore(producer_lock, flags); +		spin_unlock_bh(producer_lock);  	} else {  		err = resize_finish(q, new_q, num_elem);  	} -	spin_unlock_irqrestore(consumer_lock, flags1); +	spin_unlock_bh(consumer_lock);  	rxe_queue_cleanup(new_q);	/* new/old dep on err */  	if (err)  |