From ea9a09a1c5802d28d7a6a6816124880ca9871b82 Mon Sep 17 00:00:00 2001 From: Mike Christie Date: Wed, 15 Aug 2007 01:38:29 -0500 Subject: [PATCH] --- yaml --- r: 64787 b: refs/heads/master c: 96809f1b15eddae2325b2ab78e6f931edc969074 h: refs/heads/master i: 64785: 90650511336e07a730e344dc35da0081c39be295 64783: a5fe308b86505a00fc024dea3bc4a2ab4d5f002d v: v3 --- [refs] | 2 +- trunk/drivers/scsi/libiscsi.c | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 5af1b9a9ef36..8895c5135a92 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 604cd794de3094ccf8a9c149f299237a642ba9b5 +refs/heads/master: 96809f1b15eddae2325b2ab78e6f931edc969074 diff --git a/trunk/drivers/scsi/libiscsi.c b/trunk/drivers/scsi/libiscsi.c index 5606d1e62978..f5915d4d63d9 100644 --- a/trunk/drivers/scsi/libiscsi.c +++ b/trunk/drivers/scsi/libiscsi.c @@ -737,12 +737,19 @@ static int iscsi_data_xmit(struct iscsi_conn *conn) */ conn->ctask = list_entry(conn->xmitqueue.next, struct iscsi_cmd_task, running); - if (conn->ctask->state == ISCSI_TASK_PENDING) { + switch (conn->ctask->state) { + case ISCSI_TASK_ABORTING: + break; + case ISCSI_TASK_PENDING: iscsi_prep_scsi_cmd_pdu(conn->ctask); conn->session->tt->init_cmd_task(conn->ctask); + /* fall through */ + default: + conn->ctask->state = ISCSI_TASK_RUNNING; + break; } - conn->ctask->state = ISCSI_TASK_RUNNING; list_move_tail(conn->xmitqueue.next, &conn->run_list); + rc = iscsi_xmit_ctask(conn); if (rc) goto again;