|
@@ -228,12 +228,16 @@ static int instantiate_rng(struct device *ctrldev, int state_handle_mask,
|
|
|
* without any error (HW optimizations for later
|
|
|
* CAAM eras), then try again.
|
|
|
*/
|
|
|
+ if (ret)
|
|
|
+ break;
|
|
|
+
|
|
|
rdsta_val = rd_reg32(&ctrl->r4tst[0].rdsta) & RDSTA_IFMASK;
|
|
|
if ((status && status != JRSTA_SSRC_JUMP_HALT_CC) ||
|
|
|
- !(rdsta_val & (1 << sh_idx)))
|
|
|
+ !(rdsta_val & (1 << sh_idx))) {
|
|
|
ret = -EAGAIN;
|
|
|
- if (ret)
|
|
|
break;
|
|
|
+ }
|
|
|
+
|
|
|
dev_info(ctrldev, "Instantiated RNG4 SH%d\n", sh_idx);
|
|
|
/* Clear the contents before recreating the descriptor */
|
|
|
memset(desc, 0x00, CAAM_CMD_SZ * 7);
|