.. | .. |
---|
564 | 564 | } |
---|
565 | 565 | |
---|
566 | 566 | for_each_sg(rctx->sg, tsg, rctx->nents, i) { |
---|
| 567 | + sg[0] = *tsg; |
---|
567 | 568 | len = sg->length; |
---|
568 | 569 | |
---|
569 | | - sg[0] = *tsg; |
---|
570 | 570 | if (sg_is_last(sg)) { |
---|
571 | 571 | if (hdev->dma_mode == 1) { |
---|
572 | 572 | len = (ALIGN(sg->length, 16) - 16); |
---|
.. | .. |
---|
1565 | 1565 | if (!hdev) |
---|
1566 | 1566 | return -ENODEV; |
---|
1567 | 1567 | |
---|
1568 | | - ret = pm_runtime_resume_and_get(hdev->dev); |
---|
1569 | | - if (ret < 0) |
---|
1570 | | - return ret; |
---|
| 1568 | + ret = pm_runtime_get_sync(hdev->dev); |
---|
1571 | 1569 | |
---|
1572 | 1570 | stm32_hash_unregister_algs(hdev); |
---|
1573 | 1571 | |
---|
.. | .. |
---|
1583 | 1581 | pm_runtime_disable(hdev->dev); |
---|
1584 | 1582 | pm_runtime_put_noidle(hdev->dev); |
---|
1585 | 1583 | |
---|
1586 | | - clk_disable_unprepare(hdev->clk); |
---|
| 1584 | + if (ret >= 0) |
---|
| 1585 | + clk_disable_unprepare(hdev->clk); |
---|
1587 | 1586 | |
---|
1588 | 1587 | return 0; |
---|
1589 | 1588 | } |
---|