|
@@ -165,6 +165,8 @@ struct omap_aes_dev {
|
|
|
void *buf_out;
|
|
|
int dma_out;
|
|
|
struct dma_chan *dma_lch_out;
|
|
|
+ int in_sg_len;
|
|
|
+ int out_sg_len;
|
|
|
dma_addr_t dma_addr_out;
|
|
|
|
|
|
const struct omap_aes_pdata *pdata;
|
|
@@ -725,6 +727,10 @@ static int omap_aes_handle_queue(struct omap_aes_dev *dd,
|
|
|
dd->out_offset = 0;
|
|
|
dd->out_sg = req->dst;
|
|
|
|
|
|
+ dd->in_sg_len = scatterwalk_bytes_sglen(dd->in_sg, dd->total);
|
|
|
+ dd->out_sg_len = scatterwalk_bytes_sglen(dd->out_sg, dd->total);
|
|
|
+ BUG_ON(dd->in_sg_len < 0 || dd->out_sg_len < 0);
|
|
|
+
|
|
|
rctx = ablkcipher_request_ctx(req);
|
|
|
ctx = crypto_ablkcipher_ctx(crypto_ablkcipher_reqtfm(req));
|
|
|
rctx->mode &= FLAGS_MODE_MASK;
|