diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c
index bfdd6237a3d1aa251aaafb074c0bb7cb5d50581d..b671ebbe1df621c2173d01afa83dce56291ce3d7 100644
--- a/drivers/target/target_core_transport.c
+++ b/drivers/target/target_core_transport.c
@@ -1994,6 +1994,12 @@ static bool target_read_prot_action(struct se_cmd *cmd)
 			}
 		}
 		break;
+	case TARGET_PROT_DIN_INSERT:
+		if (cmd->se_sess->sup_prot_ops & TARGET_PROT_DIN_INSERT)
+			break;
+
+		sbc_dif_generate(cmd);
+		break;
 	default:
 		break;
 	}