mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
address lock imbalance warnings in smbdirect.c
Although at least one of these was an overly strict sparse warning in the new smbdirect code, it is cleaner to fix - so no warnings. Signed-off-by: Steve French <smfrench@gmail.com> Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
This commit is contained in:
parent
ade7db991b
commit
f9de151bf2
1 changed files with 9 additions and 7 deletions
|
@ -217,9 +217,10 @@ static void smbd_destroy_rdma_work(struct work_struct *work)
|
|||
spin_unlock_irqrestore(
|
||||
&info->reassembly_queue_lock, flags);
|
||||
put_receive_buffer(info, response);
|
||||
}
|
||||
} else
|
||||
spin_unlock_irqrestore(&info->reassembly_queue_lock, flags);
|
||||
} while (response);
|
||||
spin_unlock_irqrestore(&info->reassembly_queue_lock, flags);
|
||||
|
||||
info->reassembly_data_length = 0;
|
||||
|
||||
log_rdma_event(INFO, "free receive buffers\n");
|
||||
|
@ -1934,15 +1935,16 @@ static int smbd_recv_buf(struct smbd_connection *info, char *buf,
|
|||
* No need to lock if we are not at the
|
||||
* end of the queue
|
||||
*/
|
||||
if (!queue_length)
|
||||
if (queue_length)
|
||||
list_del(&response->list);
|
||||
else {
|
||||
spin_lock_irq(
|
||||
&info->reassembly_queue_lock);
|
||||
list_del(&response->list);
|
||||
queue_removed++;
|
||||
if (!queue_length)
|
||||
list_del(&response->list);
|
||||
spin_unlock_irq(
|
||||
&info->reassembly_queue_lock);
|
||||
|
||||
}
|
||||
queue_removed++;
|
||||
info->count_reassembly_queue--;
|
||||
info->count_dequeue_reassembly_queue++;
|
||||
put_receive_buffer(info, response);
|
||||
|
|
Loading…
Reference in a new issue