data = (u32 *)req->result;
 
        for (count = 0; count < mlen; count++)
-               data[count] = readl(ctx->cryp->base + STARFIVE_HASH_SHARDR);
+               put_unaligned(readl(ctx->cryp->base + STARFIVE_HASH_SHARDR),
+                             &data[count]);
 
        return 0;
 }
                                                  CRYPTO_ALG_NEED_FALLBACK,
                        .cra_blocksize          = SHA224_BLOCK_SIZE,
                        .cra_ctxsize            = sizeof(struct starfive_cryp_ctx),
-                       .cra_alignmask          = 3,
                        .cra_module             = THIS_MODULE,
                }
        },
                                                  CRYPTO_ALG_NEED_FALLBACK,
                        .cra_blocksize          = SHA224_BLOCK_SIZE,
                        .cra_ctxsize            = sizeof(struct starfive_cryp_ctx),
-                       .cra_alignmask          = 3,
                        .cra_module             = THIS_MODULE,
                }
        },
                                                  CRYPTO_ALG_NEED_FALLBACK,
                        .cra_blocksize          = SHA256_BLOCK_SIZE,
                        .cra_ctxsize            = sizeof(struct starfive_cryp_ctx),
-                       .cra_alignmask          = 3,
                        .cra_module             = THIS_MODULE,
                }
        },
                                                  CRYPTO_ALG_NEED_FALLBACK,
                        .cra_blocksize          = SHA256_BLOCK_SIZE,
                        .cra_ctxsize            = sizeof(struct starfive_cryp_ctx),
-                       .cra_alignmask          = 3,
                        .cra_module             = THIS_MODULE,
                }
        },
                                                  CRYPTO_ALG_NEED_FALLBACK,
                        .cra_blocksize          = SHA384_BLOCK_SIZE,
                        .cra_ctxsize            = sizeof(struct starfive_cryp_ctx),
-                       .cra_alignmask          = 3,
                        .cra_module             = THIS_MODULE,
                }
        },
                                                  CRYPTO_ALG_NEED_FALLBACK,
                        .cra_blocksize          = SHA384_BLOCK_SIZE,
                        .cra_ctxsize            = sizeof(struct starfive_cryp_ctx),
-                       .cra_alignmask          = 3,
                        .cra_module             = THIS_MODULE,
                }
        },
                                                  CRYPTO_ALG_NEED_FALLBACK,
                        .cra_blocksize          = SHA512_BLOCK_SIZE,
                        .cra_ctxsize            = sizeof(struct starfive_cryp_ctx),
-                       .cra_alignmask          = 3,
                        .cra_module             = THIS_MODULE,
                }
        },
                                                  CRYPTO_ALG_NEED_FALLBACK,
                        .cra_blocksize          = SHA512_BLOCK_SIZE,
                        .cra_ctxsize            = sizeof(struct starfive_cryp_ctx),
-                       .cra_alignmask          = 3,
                        .cra_module             = THIS_MODULE,
                }
        },
                                                  CRYPTO_ALG_NEED_FALLBACK,
                        .cra_blocksize          = SM3_BLOCK_SIZE,
                        .cra_ctxsize            = sizeof(struct starfive_cryp_ctx),
-                       .cra_alignmask          = 3,
                        .cra_module             = THIS_MODULE,
                }
        },
                                                  CRYPTO_ALG_NEED_FALLBACK,
                        .cra_blocksize          = SM3_BLOCK_SIZE,
                        .cra_ctxsize            = sizeof(struct starfive_cryp_ctx),
-                       .cra_alignmask          = 3,
                        .cra_module             = THIS_MODULE,
                }
        },