g: remove superfluous DCRYPTO_SHA256_init in HMAC implementation
g: remove superfluous DCRYPTO_SHA256_init in HMAC implementation

DCRYPTO_HMAC_SHA256_init makes two calls to DCRYPTO_SHA256_init()
without an intervening HASH_final() call.  This is incorrect usage
of the the hashing API, and results in the hardware SHA engine
getting locked for the life-time of the process (and resulting
in all future hash calls falling back to the software implementation).

This bug manifested itself when introducing NVRAM encryption, which
requires the hardware SHA engine to be available for key generation.

BRANCH=none
BUG=chrome-os-partner:55331
TEST=TCG tests pass

Change-Id: Ia4ccb6a6d64636c4618ef775291442975f3f1f92
Signed-off-by: nagendra modadugu <5dc366ddbf8fb5981f46478e8436ef712a08b71b@google.com>
Reviewed-on: https://chromium-review.googlesource.com/430154
Commit-Ready: Nagendra Modadugu <5dc366ddbf8fb5981f46478e8436ef712a08b71b@google.com>
Tested-by: Nagendra Modadugu <5dc366ddbf8fb5981f46478e8436ef712a08b71b@google.com>
Reviewed-by: Marius Schilder <d423f2980be0298efdef7df239b147d21d472f26@chromium.org>
Reviewed-by: Vadim Bendebury <5515d6d2d0829cbe0dd0dcf2094aaded06d58514@chromium.org>

coreboot/chrome-ec,coreboot/chrome-ec,coreboot/chrome-ec,coreboot/chrome-ec,coreboot/chrome-ec,coreboot/chrome-ec