diff options
Diffstat (limited to 'drivers/scsi/iscsi_tcp.c')
-rw-r--r-- | drivers/scsi/iscsi_tcp.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c index d07d309ac026..0cd78b1d1aaa 100644 --- a/drivers/scsi/iscsi_tcp.c +++ b/drivers/scsi/iscsi_tcp.c | |||
@@ -244,12 +244,10 @@ iscsi_ctask_cleanup(struct iscsi_conn *conn, struct iscsi_cmd_task *ctask) | |||
244 | if (sc->sc_data_direction == DMA_TO_DEVICE) { | 244 | if (sc->sc_data_direction == DMA_TO_DEVICE) { |
245 | struct iscsi_data_task *dtask, *n; | 245 | struct iscsi_data_task *dtask, *n; |
246 | /* WRITE: cleanup Data-Out's if any */ | 246 | /* WRITE: cleanup Data-Out's if any */ |
247 | spin_lock(&conn->lock); | ||
248 | list_for_each_entry_safe(dtask, n, &ctask->dataqueue, item) { | 247 | list_for_each_entry_safe(dtask, n, &ctask->dataqueue, item) { |
249 | list_del(&dtask->item); | 248 | list_del(&dtask->item); |
250 | mempool_free(dtask, ctask->datapool); | 249 | mempool_free(dtask, ctask->datapool); |
251 | } | 250 | } |
252 | spin_unlock(&conn->lock); | ||
253 | } | 251 | } |
254 | ctask->xmstate = XMSTATE_IDLE; | 252 | ctask->xmstate = XMSTATE_IDLE; |
255 | ctask->r2t = NULL; | 253 | ctask->r2t = NULL; |
@@ -2453,8 +2451,6 @@ iscsi_conn_create(struct iscsi_cls_session *cls_session, uint32_t conn_idx) | |||
2453 | conn->data_size = DEFAULT_MAX_RECV_DATA_SEGMENT_LENGTH; | 2451 | conn->data_size = DEFAULT_MAX_RECV_DATA_SEGMENT_LENGTH; |
2454 | conn->max_recv_dlength = DEFAULT_MAX_RECV_DATA_SEGMENT_LENGTH; | 2452 | conn->max_recv_dlength = DEFAULT_MAX_RECV_DATA_SEGMENT_LENGTH; |
2455 | 2453 | ||
2456 | spin_lock_init(&conn->lock); | ||
2457 | |||
2458 | /* initialize general xmit PDU commands queue */ | 2454 | /* initialize general xmit PDU commands queue */ |
2459 | conn->xmitqueue = kfifo_alloc(session->cmds_max * sizeof(void*), | 2455 | conn->xmitqueue = kfifo_alloc(session->cmds_max * sizeof(void*), |
2460 | GFP_KERNEL, NULL); | 2456 | GFP_KERNEL, NULL); |