diff --git a/soc/swr-mstr-ctrl.c b/soc/swr-mstr-ctrl.c index 6c85d817acf3..c70096e3a3ce 100644 --- a/soc/swr-mstr-ctrl.c +++ b/soc/swr-mstr-ctrl.c @@ -2165,20 +2165,21 @@ handle_irq: case SWRM_INTERRUPT_STATUS_CLK_STOP_FINISHED: break; case SWRM_INTERRUPT_STATUS_EXT_CLK_STOP_WAKEUP: - if (swrm->state == SWR_MSTR_UP) + if (swrm->state == SWR_MSTR_UP) { dev_dbg(swrm->dev, "%s:SWR Master is already up\n", __func__); - else + } else { dev_err_ratelimited(swrm->dev, "%s: SWR wokeup during clock stop\n", __func__); - /* It might be possible the slave device gets reset - * and slave interrupt gets missed. So re-enable - * Host IRQ and process slave pending - * interrupts, if any. - */ - swrm_enable_slave_irq(swrm); + /* It might be possible the slave device gets + * reset and slave interrupt gets missed. So + * re-enable Host IRQ and process slave pending + * interrupts, if any. + */ + swrm_enable_slave_irq(swrm); + } break; default: dev_err_ratelimited(swrm->dev, @@ -2674,6 +2675,8 @@ static int swrm_probe(struct platform_device *pdev) SWRM_NUM_AUTO_ENUM_SLAVES); ret = -EINVAL; goto err_pdata_fail; + } else { + swrm->master.num_dev = swrm->num_dev; } }