OSDN Git Service

Merge 4.9.94 into android-4.9
[android-x86/kernel.git] / drivers / infiniband / ulp / srpt / ib_srpt.c
index 7cf468a..9888c9b 100644 (file)
@@ -2292,12 +2292,8 @@ static void srpt_queue_response(struct se_cmd *cmd)
        }
        spin_unlock_irqrestore(&ioctx->spinlock, flags);
 
-       if (unlikely(transport_check_aborted_status(&ioctx->cmd, false)
-                    || WARN_ON_ONCE(state == SRPT_STATE_CMD_RSP_SENT))) {
-               atomic_inc(&ch->req_lim_delta);
-               srpt_abort_cmd(ioctx);
+       if (unlikely(WARN_ON_ONCE(state == SRPT_STATE_CMD_RSP_SENT)))
                return;
-       }
 
        /* For read commands, transfer the data to the initiator. */
        if (ioctx->cmd.data_direction == DMA_FROM_DEVICE &&
@@ -2670,7 +2666,8 @@ static void srpt_release_cmd(struct se_cmd *se_cmd)
        struct srpt_rdma_ch *ch = ioctx->ch;
        unsigned long flags;
 
-       WARN_ON(ioctx->state != SRPT_STATE_DONE);
+       WARN_ON_ONCE(ioctx->state != SRPT_STATE_DONE &&
+                    !(ioctx->cmd.transport_state & CMD_T_ABORTED));
 
        if (ioctx->n_rw_ctx) {
                srpt_free_rw_ctxs(ch, ioctx);