Signed-off-by: Krzysztof HaĆasa <[email protected]>
diff --git a/drivers/crypto/ixp4xx_crypto.c b/drivers/crypto/ixp4xx_crypto.c
index 0c7e4f5..f8f6515 100644
--- a/drivers/crypto/ixp4xx_crypto.c
+++ b/drivers/crypto/ixp4xx_crypto.c
@@ -64,7 +64,7 @@
#define MOD_DES 0x0000
#define MOD_TDEA2 0x0100
-#define MOD_3DES 0x0200
+#define MOD_3DES 0x0200
#define MOD_AES 0x0800
#define MOD_AES128 (0x0800 | KEYLEN_128)
#define MOD_AES192 (0x0900 | KEYLEN_192)
@@ -137,7 +137,7 @@ struct crypt_ctl {
u32 aadAddr; /* Additional Auth Data Addr for CCM mode */
u32 crypto_ctx; /* NPE Crypto Param structure address */
- /* Used by Host: 4*4 bytes*/
+ /* Used only by host: 4 * 4 bytes */
unsigned ctl_flags;
union {
struct ablkcipher_request *ablk_req;
@@ -208,10 +208,10 @@ static const struct ix_hash_algo hash_alg_sha1 = {
};
static struct npe *npe_c;
-static struct dma_pool *buffer_pool = NULL;
-static struct dma_pool *ctx_pool = NULL;
+static struct dma_pool *buffer_pool;
+static struct dma_pool *ctx_pool;
-static struct crypt_ctl *crypt_virt = NULL;
+static struct crypt_ctl *crypt_virt;
static dma_addr_t crypt_phys;
static int support_aes = 1;
@@ -246,12 +246,12 @@ static inline struct crypt_ctl
*crypt_phys2virt(dma_addr_t phys)
static inline u32 cipher_cfg_enc(struct crypto_tfm *tfm)
{
- return container_of(tfm->__crt_alg, struct ixp_alg,crypto)->cfg_enc;
+ return container_of(tfm->__crt_alg, struct ixp_alg, crypto)->cfg_enc;
}
static inline u32 cipher_cfg_dec(struct crypto_tfm *tfm)
{
- return container_of(tfm->__crt_alg, struct ixp_alg,crypto)->cfg_dec;
+ return container_of(tfm->__crt_alg, struct ixp_alg, crypto)->cfg_dec;
}
static inline const struct ix_hash_algo *ix_hash(struct crypto_tfm *tfm)
@@ -275,7 +275,7 @@ static spinlock_t desc_lock;
static struct crypt_ctl *get_crypt_desc(void)
{
int i;
- static int idx = 0;
+ static int idx;
unsigned long flags;
struct crypt_ctl *desc = NULL;
@@ -318,13 +318,13 @@ static struct crypt_ctl *get_crypt_desc_emerg(void)
if (++idx >= NPE_QLEN_TOTAL)
idx = NPE_QLEN;
crypt_virt[i].ctl_flags = CTL_FLAG_USED;
- desc = crypt_virt +i;
+ desc = crypt_virt + i;
}
spin_unlock_irqrestore(&emerg_lock, flags);
return desc;
}
-static void free_buf_chain(struct device *dev, struct buffer_desc *buf,u32
phys)
+static void free_buf_chain(struct device *dev, struct buffer_desc *buf, u32
phys)
{
while (buf) {
struct buffer_desc *buf1;
@@ -349,10 +349,9 @@ static void finish_scattered_hmac(struct crypt_ctl *crypt)
int authsize = crypto_aead_authsize(tfm);
int decryptlen = req->cryptlen - authsize;
- if (req_ctx->encrypt) {
+ if (req_ctx->encrypt)
scatterwalk_map_and_copy(req_ctx->hmac_virt,
req->src, decryptlen, authsize, 1);
- }
dma_pool_free(buffer_pool, req_ctx->hmac_virt, crypt->icv_rev_aes);
}
@@ -372,9 +371,8 @@ static void one_packet(dma_addr_t phys)
struct aead_ctx *req_ctx = aead_request_ctx(req);
free_buf_chain(dev, req_ctx->buffer, crypt->src_buf);
- if (req_ctx->hmac_virt) {
+ if (req_ctx->hmac_virt)
finish_scattered_hmac(crypt);
- }
req->base.complete(&req->base, failed);
break;
}
@@ -382,9 +380,8 @@ static void one_packet(dma_addr_t phys)
struct ablkcipher_request *req = crypt->data.ablk_req;
struct ablk_ctx *req_ctx = ablkcipher_request_ctx(req);
- if (req_ctx->dst) {
+ if (req_ctx->dst)
free_buf_chain(dev, req_ctx->dst, crypt->dst_buf);
- }
free_buf_chain(dev, req_ctx->src, crypt->src_buf);
req->base.complete(&req->base, failed);
break;
@@ -418,7 +415,7 @@ static void crypto_done_action(unsigned long arg)
{
int i;
- for(i=0; i<4; i++) {
+ for (i = 0; i < 4; i++) {
dma_addr_t phys = qmgr_get_entry(RECV_QID);
if (!phys)
return;
@@ -443,9 +440,8 @@ static int init_ixp_crypto(void)
if (!npe_running(npe_c)) {
ret = npe_load_firmware(npe_c, npe_name(npe_c), dev);
- if (ret) {
+ if (ret)
return ret;
- }
if (npe_recv_message(npe_c, msg, "STATUS_MSG"))
goto npe_error;
} else {
@@ -478,14 +474,12 @@ static int init_ixp_crypto(void)
buffer_pool = dma_pool_create("buffer", dev,
sizeof(struct buffer_desc), 32, 0);
ret = -ENOMEM;
- if (!buffer_pool) {
+ if (!buffer_pool)
goto err;
- }
ctx_pool = dma_pool_create("context", dev,
NPE_CTX_LEN, 16, 0);
- if (!ctx_pool) {
+ if (!ctx_pool)
goto err;
- }
ret = qmgr_request_queue(SEND_QID, NPE_QLEN_TOTAL, 0, 0,
"ixp_crypto:out", NULL);
if (ret)
@@ -527,11 +521,10 @@ static void release_ixp_crypto(void)
npe_release(npe_c);
- if (crypt_virt) {
+ if (crypt_virt)
dma_free_coherent(dev,
- NPE_QLEN_TOTAL * sizeof( struct crypt_ctl),
+ NPE_QLEN_TOTAL * sizeof(struct crypt_ctl),
crypt_virt, crypt_phys);
- }
return;
}
@@ -545,9 +538,8 @@ static void reset_sa_dir(struct ix_sa_dir *dir)
static int init_sa_dir(struct ix_sa_dir *dir)
{
dir->npe_ctx = dma_pool_alloc(ctx_pool, GFP_KERNEL, &dir->npe_ctx_phys);
- if (!dir->npe_ctx) {
+ if (!dir->npe_ctx)
return -ENOMEM;
- }
reset_sa_dir(dir);
return 0;
}
@@ -568,9 +560,8 @@ static int init_tfm(struct crypto_tfm *tfm)
if (ret)
return ret;
ret = init_sa_dir(&ctx->decrypt);
- if (ret) {
+ if (ret)
free_sa_dir(&ctx->encrypt);
- }
return ret;
}
@@ -621,9 +612,8 @@ static int register_chain_var(struct crypto_tfm *tfm, u8
xpad, u32 target,
memcpy(pad, key, key_len);
memset(pad + key_len, 0, HMAC_PAD_BLOCKLEN - key_len);
- for (i = 0; i < HMAC_PAD_BLOCKLEN; i++) {
+ for (i = 0; i < HMAC_PAD_BLOCKLEN; i++)
pad[i] ^= xpad;
- }
crypt->data.tfm = tfm;
crypt->regist_ptr = pad;
@@ -665,7 +655,7 @@ static int setup_auth(struct crypto_tfm *tfm, int encrypt,
unsigned authsize,
algo = ix_hash(tfm);
/* write cfg word to cryptinfo */
- cfgword = algo->cfgword | ( authsize << 6); /* (authsize/4) << 8 */
+ cfgword = algo->cfgword | (authsize << 6); /* (authsize/4) << 8 */
#ifndef __ARMEB__
cfgword ^= 0xAA000000; /* change the "byte swap" flags */
#endif
@@ -703,9 +693,8 @@ static int gen_rev_aes_key(struct crypto_tfm *tfm)
struct ix_sa_dir *dir = &ctx->decrypt;
crypt = get_crypt_desc_emerg();
- if (!crypt) {
+ if (!crypt)
return -EAGAIN;
- }
*(__be32 *)dir->npe_ctx |= cpu_to_be32(CIPH_ENCR);
crypt->data.tfm = tfm;
@@ -740,32 +729,30 @@ static int setup_cipher(struct crypto_tfm *tfm, int
encrypt,
if (encrypt) {
cipher_cfg = cipher_cfg_enc(tfm);
dir->npe_mode |= NPE_OP_CRYPT_ENCRYPT;
- } else {
+ } else
cipher_cfg = cipher_cfg_dec(tfm);
- }
+
if (cipher_cfg & MOD_AES) {
switch (key_len) {
- case 16: keylen_cfg = MOD_AES128 | KEYLEN_128; break;
- case 24: keylen_cfg = MOD_AES192 | KEYLEN_192; break;
- case 32: keylen_cfg = MOD_AES256 | KEYLEN_256; break;
- default:
- *flags |= CRYPTO_TFM_RES_BAD_KEY_LEN;
- return -EINVAL;
+ case 16: keylen_cfg = MOD_AES128 | KEYLEN_128; break;
+ case 24: keylen_cfg = MOD_AES192 | KEYLEN_192; break;
+ case 32: keylen_cfg = MOD_AES256 | KEYLEN_256; break;
+ default:
+ *flags |= CRYPTO_TFM_RES_BAD_KEY_LEN;
+ return -EINVAL;
}
cipher_cfg |= keylen_cfg;
} else if (cipher_cfg & MOD_3DES) {
const u32 *K = (const u32 *)key;
if (unlikely(!((K[0] ^ K[2]) | (K[1] ^ K[3])) ||
- !((K[2] ^ K[4]) | (K[3] ^ K[5]))))
- {
+ !((K[2] ^ K[4]) | (K[3] ^ K[5])))) {
*flags |= CRYPTO_TFM_RES_BAD_KEY_SCHED;
return -EINVAL;
}
} else {
u32 tmp[DES_EXPKEY_WORDS];
- if (des_ekey(tmp, key) == 0) {
+ if (des_ekey(tmp, key) == 0)
*flags |= CRYPTO_TFM_RES_WEAK_KEY;
- }
}
/* write cfg word to cryptinfo */
*(__be32 *)cinfo = cpu_to_be32(cipher_cfg);
@@ -775,14 +762,13 @@ static int setup_cipher(struct crypto_tfm *tfm, int
encrypt,
memcpy(cinfo, key, key_len);
/* NPE wants keylen set to DES3_EDE_KEY_SIZE even for single DES */
if (key_len < DES3_EDE_KEY_SIZE && !(cipher_cfg & MOD_AES)) {
- memset(cinfo + key_len, 0, DES3_EDE_KEY_SIZE -key_len);
+ memset(cinfo + key_len, 0, DES3_EDE_KEY_SIZE - key_len);
key_len = DES3_EDE_KEY_SIZE;
}
dir->npe_ctx_idx = sizeof(cipher_cfg) + key_len;
dir->npe_mode |= NPE_OP_CRYPT_ENABLE;
- if ((cipher_cfg & MOD_AES) && !encrypt) {
+ if ((cipher_cfg & MOD_AES) && !encrypt)
return gen_rev_aes_key(tfm);
- }
return 0;
}
@@ -791,7 +777,7 @@ static struct buffer_desc *chainup_buffers(struct device
*dev,
struct buffer_desc *buf, gfp_t flags,
enum dma_data_direction dir)
{
- for (;nbytes > 0; sg = scatterwalk_sg_next(sg)) {
+ for (; nbytes > 0; sg = scatterwalk_sg_next(sg)) {
unsigned len = min(nbytes, sg->length);
struct buffer_desc *next_buf;
u32 next_buf_phys;
@@ -842,11 +828,10 @@ static int ablk_setkey(struct crypto_ablkcipher *tfm,
const u8 *key,
goto out;
if (*flags & CRYPTO_TFM_RES_WEAK_KEY) {
- if (*flags & CRYPTO_TFM_REQ_WEAK_KEY) {
+ if (*flags & CRYPTO_TFM_REQ_WEAK_KEY)
ret = -EINVAL;
- } else {
+ else
*flags &= ~CRYPTO_TFM_RES_WEAK_KEY;
- }
}
out:
if (!atomic_dec_and_test(&ctx->configuring))
@@ -918,9 +903,8 @@ static int ablk_perform(struct ablkcipher_request *req, int
encrypt)
src_direction = DMA_TO_DEVICE;
req_ctx->dst = dst_hook.next;
crypt->dst_buf = dst_hook.phys_next;
- } else {
+ } else
req_ctx->dst = NULL;
- }
req_ctx->src = NULL;
if (!chainup_buffers(dev, req->src, nbytes, &src_hook,
flags, src_direction))
@@ -936,9 +920,8 @@ static int ablk_perform(struct ablkcipher_request *req, int
encrypt)
free_buf_src:
free_buf_chain(dev, req_ctx->src, crypt->src_buf);
free_buf_dest:
- if (req->src != req->dst) {
+ if (req->src != req->dst)
free_buf_chain(dev, req_ctx->dst, crypt->dst_buf);
- }
crypt->ctl_flags = CTL_FLAG_UNUSED;
return -ENOMEM;
}
@@ -962,7 +945,7 @@ static int ablk_rfc3686_crypt(struct ablkcipher_request
*req)
int ret;
/* set up counter block */
- memcpy(iv, ctx->nonce, CTR_RFC3686_NONCE_SIZE);
+ memcpy(iv, ctx->nonce, CTR_RFC3686_NONCE_SIZE);
memcpy(iv + CTR_RFC3686_NONCE_SIZE, info, CTR_RFC3686_IV_SIZE);
/* initialize counter portion of counter block */
@@ -1019,7 +1002,7 @@ static int aead_perform(struct aead_request *req, int
encrypt,
} else {
dir = &ctx->decrypt;
/* req->cryptlen includes the authsize when decrypting */
- cryptlen = req->cryptlen -authsize;
+ cryptlen = req->cryptlen - authsize;
eff_cryptlen -= authsize;
}
crypt = get_crypt_desc();
@@ -1039,9 +1022,8 @@ static int aead_perform(struct aead_request *req, int
encrypt,
BUG_ON(ivsize && !req->iv);
memcpy(crypt->iv, req->iv, ivsize);
- if (req->src != req->dst) {
+ if (req->src != req->dst)
BUG(); /* -ENOTSUP because of my lazyness */
- }
/* ASSOC data */
buf = chainup_buffers(dev, req->assoc, req->assoclen, &src_hook,
@@ -1064,32 +1046,28 @@ static int aead_perform(struct aead_request *req, int
encrypt,
&crypt->icv_rev_aes);
if (unlikely(!req_ctx->hmac_virt))
goto free_chain;
- if (!encrypt) {
+ if (!encrypt)
scatterwalk_map_and_copy(req_ctx->hmac_virt,
req->src, cryptlen, authsize, 0);
- }
req_ctx->encrypt = encrypt;
- } else {
+ } else
req_ctx->hmac_virt = NULL;
- }
/* Crypt */
buf = chainup_buffers(dev, req->src, cryptlen + authsize, buf, flags,
DMA_BIDIRECTIONAL);
if (!buf)
goto free_hmac_virt;
- if (!req_ctx->hmac_virt) {
+ if (!req_ctx->hmac_virt)
crypt->icv_rev_aes = buf->phys_addr + buf->buf_len - authsize;
- }
crypt->ctl_flags |= CTL_FLAG_PERFORM_AEAD;
qmgr_put_entry(SEND_QID, crypt_virt2phys(crypt));
BUG_ON(qmgr_stat_overflow(SEND_QID));
return -EINPROGRESS;
free_hmac_virt:
- if (req_ctx->hmac_virt) {
+ if (req_ctx->hmac_virt)
dma_pool_free(buffer_pool, req_ctx->hmac_virt,
crypt->icv_rev_aes);
- }
free_chain:
free_buf_chain(dev, req_ctx->buffer, crypt->src_buf);
out:
@@ -1131,9 +1109,8 @@ static int aead_setup(struct crypto_aead *tfm, unsigned
int authsize)
if (*flags & CRYPTO_TFM_REQ_WEAK_KEY) {
ret = -EINVAL;
goto out;
- } else {
+ } else
*flags &= ~CRYPTO_TFM_RES_WEAK_KEY;
- }
}
out:
if (!atomic_dec_and_test(&ctx->configuring))
@@ -1219,7 +1196,7 @@ static int aead_givencrypt(struct aead_givcrypt_request
*req)
seq = cpu_to_be64(req->seq);
memcpy(req->giv + ivsize - len, &seq, len);
return aead_perform(&req->areq, 1, req->areq.assoclen,
- req->areq.cryptlen +ivsize, req->giv);
+ req->areq.cryptlen + ivsize, req->giv);
}
static struct ixp_alg ixp4xx_algos[] = {
@@ -1416,7 +1393,7 @@ static struct ixp_alg ixp4xx_algos[] = {
static int __init ixp_module_init(void)
{
int num = ARRAY_SIZE(ixp4xx_algos);
- int i,err ;
+ int i, err ;
if (platform_device_register(&pseudo_dev))
return -ENODEV;
@@ -1429,18 +1406,14 @@ static int __init ixp_module_init(void)
platform_device_unregister(&pseudo_dev);
return err;
}
- for (i=0; i< num; i++) {
+ for (i = 0; i < num; i++) {
struct crypto_alg *cra = &ixp4xx_algos[i].crypto;
if (snprintf(cra->cra_driver_name, CRYPTO_MAX_ALG_NAME,
- "%s"IXP_POSTFIX, cra->cra_name) >=
- CRYPTO_MAX_ALG_NAME)
- {
+ "%s"IXP_POSTFIX, cra->cra_name) >= CRYPTO_MAX_ALG_NAME)
continue;
- }
- if (!support_aes && (ixp4xx_algos[i].cfg_enc & MOD_AES)) {
+ if (!support_aes && (ixp4xx_algos[i].cfg_enc & MOD_AES))
continue;
- }
if (!ixp4xx_algos[i].hash) {
/* block ciphers */
cra->cra_type = &crypto_ablkcipher_type;
@@ -1484,7 +1457,7 @@ static void __exit ixp_module_exit(void)
int num = ARRAY_SIZE(ixp4xx_algos);
int i;
- for (i=0; i< num; i++) {
+ for (i = 0; i < num; i++) {
if (ixp4xx_algos[i].registered)
crypto_unregister_alg(&ixp4xx_algos[i].crypto);
}
--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html