提交 f9de151b 编写于 作者: S Steve French

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: NSteve French <smfrench@gmail.com>
Reviewed-by: NRonnie Sahlberg <lsahlber@redhat.com>
上级 ade7db99
......@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册