|
|
@@ -2793,8 +2793,19 @@ static void srpt_queue_tm_rsp(struct se_cmd *cmd)
|
|
|
srpt_queue_response(cmd);
|
|
|
}
|
|
|
|
|
|
+/*
|
|
|
+ * This function is called for aborted commands if no response is sent to the
|
|
|
+ * initiator. Make sure that the credits freed by aborting a command are
|
|
|
+ * returned to the initiator the next time a response is sent by incrementing
|
|
|
+ * ch->req_lim_delta.
|
|
|
+ */
|
|
|
static void srpt_aborted_task(struct se_cmd *cmd)
|
|
|
{
|
|
|
+ struct srpt_send_ioctx *ioctx = container_of(cmd,
|
|
|
+ struct srpt_send_ioctx, cmd);
|
|
|
+ struct srpt_rdma_ch *ch = ioctx->ch;
|
|
|
+
|
|
|
+ atomic_inc(&ch->req_lim_delta);
|
|
|
}
|
|
|
|
|
|
static int srpt_queue_status(struct se_cmd *cmd)
|