This patch fixes following cleanup issues:
 - The return value of the function is
   inconsistent with the actual return type.
 - After the pointer type is directly converted
   to the `__le64` type, the program may crash
   or produce unexpected results.
Signed-off-by: Qi Tao <taoqi10@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
 };
 
 /* Get an en/de-cipher queue cyclically to balance load over queues of TFM */
-static inline int sec_alloc_queue_id(struct sec_ctx *ctx, struct sec_req *req)
+static inline u32 sec_alloc_queue_id(struct sec_ctx *ctx, struct sec_req *req)
 {
        if (req->c_req.encrypt)
                return (u32)atomic_inc_return(&ctx->enc_qcyclic) %
        sec_sqe3->bd_param = cpu_to_le32(bd_param);
 
        sec_sqe3->c_len_ivin |= cpu_to_le32(c_req->c_len);
-       sec_sqe3->tag = cpu_to_le64(req);
+       sec_sqe3->tag = cpu_to_le64((unsigned long)req);
 
        return 0;
 }