aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/ulp/isert/ib_isert.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband/ulp/isert/ib_isert.c')
-rw-r--r--drivers/infiniband/ulp/isert/ib_isert.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/infiniband/ulp/isert/ib_isert.c b/drivers/infiniband/ulp/isert/ib_isert.c
index 529d2cbfe45a..18ada7fb0fc9 100644
--- a/drivers/infiniband/ulp/isert/ib_isert.c
+++ b/drivers/infiniband/ulp/isert/ib_isert.c
@@ -2162,6 +2162,24 @@ isert_put_response(struct iscsi_conn *conn, struct iscsi_cmd *cmd)
2162 return isert_post_response(isert_conn, isert_cmd); 2162 return isert_post_response(isert_conn, isert_cmd);
2163} 2163}
2164 2164
2165static void
2166isert_aborted_task(struct iscsi_conn *conn, struct iscsi_cmd *cmd)
2167{
2168 struct isert_cmd *isert_cmd = iscsit_priv_cmd(cmd);
2169 struct isert_conn *isert_conn = (struct isert_conn *)conn->context;
2170 struct isert_device *device = isert_conn->conn_device;
2171
2172 spin_lock_bh(&conn->cmd_lock);
2173 if (!list_empty(&cmd->i_conn_node))
2174 list_del_init(&cmd->i_conn_node);
2175 spin_unlock_bh(&conn->cmd_lock);
2176
2177 if (cmd->data_direction == DMA_TO_DEVICE)
2178 iscsit_stop_dataout_timer(cmd);
2179
2180 device->unreg_rdma_mem(isert_cmd, isert_conn);
2181}
2182
2165static int 2183static int
2166isert_put_nopin(struct iscsi_cmd *cmd, struct iscsi_conn *conn, 2184isert_put_nopin(struct iscsi_cmd *cmd, struct iscsi_conn *conn,
2167 bool nopout_response) 2185 bool nopout_response)
@@ -3217,6 +3235,7 @@ static struct iscsit_transport iser_target_transport = {
3217 .iscsit_get_dataout = isert_get_dataout, 3235 .iscsit_get_dataout = isert_get_dataout,
3218 .iscsit_queue_data_in = isert_put_datain, 3236 .iscsit_queue_data_in = isert_put_datain,
3219 .iscsit_queue_status = isert_put_response, 3237 .iscsit_queue_status = isert_put_response,
3238 .iscsit_aborted_task = isert_aborted_task,
3220}; 3239};
3221 3240
3222static int __init isert_init(void) 3241static int __init isert_init(void)