On Thu, Oct 29, 2020 at 09:10:54PM -0700, Bhaumik Bhatt wrote: > Current design allows a controller to register with MHI successfully > without the need to have any IRQs available for use. If no IRQs are > available, power up requests to MHI can fail after a successful > registration with MHI. Improve the design by checking for the number > of IRQs available sooner within the mhi_regsiter_controller() API as > it is required to be specified by the controller. > > Signed-off-by: Bhaumik Bhatt <bbhatt@xxxxxxxxxxxxxx> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx> Thanks, Mani > --- > drivers/bus/mhi/core/init.c | 2 +- > drivers/bus/mhi/core/pm.c | 3 --- > 2 files changed, 1 insertion(+), 4 deletions(-) > > diff --git a/drivers/bus/mhi/core/init.c b/drivers/bus/mhi/core/init.c > index 23b6dd6..5dd9e39 100644 > --- a/drivers/bus/mhi/core/init.c > +++ b/drivers/bus/mhi/core/init.c > @@ -858,7 +858,7 @@ int mhi_register_controller(struct mhi_controller *mhi_cntrl, > > if (!mhi_cntrl->runtime_get || !mhi_cntrl->runtime_put || > !mhi_cntrl->status_cb || !mhi_cntrl->read_reg || > - !mhi_cntrl->write_reg) > + !mhi_cntrl->write_reg || !mhi_cntrl->nr_irqs) > return -EINVAL; > > ret = parse_config(mhi_cntrl, config); > diff --git a/drivers/bus/mhi/core/pm.c b/drivers/bus/mhi/core/pm.c > index 06adea2..1d04e401 100644 > --- a/drivers/bus/mhi/core/pm.c > +++ b/drivers/bus/mhi/core/pm.c > @@ -926,9 +926,6 @@ int mhi_async_power_up(struct mhi_controller *mhi_cntrl) > > dev_info(dev, "Requested to power ON\n"); > > - if (mhi_cntrl->nr_irqs < 1) > - return -EINVAL; > - > /* Supply default wake routines if not provided by controller driver */ > if (!mhi_cntrl->wake_get || !mhi_cntrl->wake_put || > !mhi_cntrl->wake_toggle) { > -- > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project >