diff --git a/drivers/bus/mhi/core/mhi_init.c b/drivers/bus/mhi/core/mhi_init.c index abc20557477d..42fc08c946ab 100644 --- a/drivers/bus/mhi/core/mhi_init.c +++ b/drivers/bus/mhi/core/mhi_init.c @@ -1796,6 +1796,13 @@ int mhi_prepare_for_power_up(struct mhi_controller *mhi_cntrl) goto bhie_error; } + if (bhie_off >= mhi_cntrl->len) { + MHI_ERR("Invalid BHIE=0x%x len=0x%x\n", + bhie_off, mhi_cntrl->len); + ret = -EINVAL; + goto bhie_error; + } + mhi_cntrl->bhie = mhi_cntrl->regs + bhie_off; }