[PATCH 2/2] crypto: stm32 - Support for STM32 HASH module

Kamil Konieczny k.konieczny at partner.samsung.com
Mon Jul 31 02:16:25 PDT 2017



On 13.07.2017 15:32, Lionel Debieve wrote:
> This module register a HASH module that support multiples
> algorithms: MD5, SHA1, SHA224, SHA256. [...]

> +static irqreturn_t stm32_hash_irq_thread(int irq, void *dev_id)
> +{
> +	struct stm32_hash_dev *hdev = dev_id;
> +	int err;

The 'err' var is used without initialize.

> +
> +	if (HASH_FLAGS_CPU & hdev->flags) {
> +		if (HASH_FLAGS_OUTPUT_READY & hdev->flags) {
> +			hdev->flags &= ~HASH_FLAGS_OUTPUT_READY;
> +			goto finish;
> +		}
> +	} else if (HASH_FLAGS_DMA_READY & hdev->flags) {
> +		if (HASH_FLAGS_DMA_ACTIVE & hdev->flags) {
> +			hdev->flags &= ~HASH_FLAGS_DMA_ACTIVE;
> +				goto finish;
> +		}
> +	}
> +
> +	return IRQ_HANDLED;
> +
> +finish:
> +	/*Finish current request */
> +	stm32_hash_finish_req(hdev->req, err);
> +
> +	return IRQ_HANDLED;
> +}
> +
and here is beginnig for finish_req:

+static void stm32_hash_finish_req(struct ahash_request *req, int err)
+{
+	struct stm32_hash_request_ctx *rctx = ahash_request_ctx(req);
+	struct stm32_hash_dev *hdev = rctx->hdev;
+
+	if (!err && (HASH_FLAGS_FINAL & hdev->flags)) {

-- 
Best regards,
Kamil Konieczny
Samsung R&D Institute Poland




More information about the linux-arm-kernel mailing list