fcst: Fix ft_abort_cmd()

git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4968 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Bart Van Assche
2013-08-13 18:43:26 +00:00
parent e6610624ae
commit 80ba881d46
3 changed files with 136 additions and 19 deletions
+9 -2
View File
@@ -265,8 +265,15 @@ void ft_recv_write_data(struct scst_cmd *cmd, struct fc_frame *fp)
else
scst_put_buf(cmd, buf);
}
if (fcmd->write_data_len == bufflen)
scst_rx_data(cmd, SCST_RX_STATUS_SUCCESS, SCST_CONTEXT_THREAD);
if (fcmd->write_data_len == bufflen) {
spin_lock(&fcmd->lock);
if (fcmd->state == FT_STATE_NEED_DATA) {
fcmd->state = FT_STATE_DATA_IN;
scst_rx_data(cmd, SCST_RX_STATUS_SUCCESS,
SCST_CONTEXT_THREAD);
}
spin_unlock(&fcmd->lock);
}
drop:
fc_frame_free(fp);
}