target: Add SCF_ACK_KREF flag for acknowledgement kref
[firefly-linux-kernel-4.4.55.git] / drivers / target / target_core_transport.c
index 35bae7dd670a2f66343b0074a5a48b647d0647cd..c6b8b82333994e40fdf82da16a40d991f60a1d74 100644 (file)
@@ -4030,8 +4030,10 @@ void target_get_sess_cmd(struct se_session *se_sess, struct se_cmd *se_cmd,
         * fabric acknowledgement that requires two target_put_sess_cmd()
         * invocations before se_cmd descriptor release.
         */
-       if (ack_kref == true)
+       if (ack_kref == true) {
                kref_get(&se_cmd->cmd_kref);
+               se_cmd->se_cmd_flags |= SCF_ACK_KREF;
+       }
 
        spin_lock_irqsave(&se_sess->sess_cmd_lock, flags);
        list_add_tail(&se_cmd->se_cmd_list, &se_sess->sess_cmd_list);