|
@@ -96,26 +96,6 @@ struct bfin_crypto_crc_ctx {
|
|
|
u32 key;
|
|
|
};
|
|
|
|
|
|
-
|
|
|
-/*
|
|
|
- * derive number of elements in scatterlist
|
|
|
- */
|
|
|
-static int sg_count(struct scatterlist *sg_list)
|
|
|
-{
|
|
|
- struct scatterlist *sg = sg_list;
|
|
|
- int sg_nents = 1;
|
|
|
-
|
|
|
- if (sg_list == NULL)
|
|
|
- return 0;
|
|
|
-
|
|
|
- while (!sg_is_last(sg)) {
|
|
|
- sg_nents++;
|
|
|
- sg = sg_next(sg);
|
|
|
- }
|
|
|
-
|
|
|
- return sg_nents;
|
|
|
-}
|
|
|
-
|
|
|
/*
|
|
|
* get element in scatter list by given index
|
|
|
*/
|
|
@@ -160,7 +140,7 @@ static int bfin_crypto_crc_init(struct ahash_request *req)
|
|
|
}
|
|
|
spin_unlock_bh(&crc_list.lock);
|
|
|
|
|
|
- if (sg_count(req->src) > CRC_MAX_DMA_DESC) {
|
|
|
+ if (sg_nents(req->src) > CRC_MAX_DMA_DESC) {
|
|
|
dev_dbg(ctx->crc->dev, "init: requested sg list is too big > %d\n",
|
|
|
CRC_MAX_DMA_DESC);
|
|
|
return -EINVAL;
|
|
@@ -376,7 +356,8 @@ static int bfin_crypto_crc_handle_queue(struct bfin_crypto_crc *crc,
|
|
|
ctx->sg = req->src;
|
|
|
|
|
|
/* Chop crc buffer size to multiple of 32 bit */
|
|
|
- nsg = ctx->sg_nents = sg_count(ctx->sg);
|
|
|
+ nsg = sg_nents(ctx->sg);
|
|
|
+ ctx->sg_nents = nsg;
|
|
|
ctx->sg_buflen = ctx->buflast_len + req->nbytes;
|
|
|
ctx->bufnext_len = ctx->sg_buflen % 4;
|
|
|
ctx->sg_buflen &= ~0x3;
|